Форум: "Сети";
Текущий архив: 2007.09.23;
Скачать: [xml.tar.bz2];
ВнизTIDTCPServer(+SSL Intercept) внутри DLLки Найти похожие ветки
← →
ildarkh (2007-01-29 17:42) [0]Всем привет. Есть у меня такая DLL-ка
library UreadMessagesCls;
uses XMLDoc, IdTCPServer, IdTCPClient, Dialogs, SysUtils;
procedure ExQuery(XML: TXMLDocument; Client: TIdTCPClient; Server: TIdTCPServerConnection);stdcall;
var
msg: String;
begin
try
Client.Connect;
except
Client.Disconnect;
Client.Connect;
end;
try
Client.Writeln("<?xml version="1.0"?><query type="2"/>"+#0);
Client.ReadLn;
Client.Disconnect;
except on e: Exception do
msg := e.Message;
end;
end;
exports ExQuery;
end.
Она подключается динамически, в ее функцию передается, в частности, TidTCPClient-клиент, который соединяется с сервером с помощью SSL (TIdConnectionInterceptOpenSSL). На сервер периодически пихаются сообщения. На третьей отправке происходит непонятный вылет - Access violation...., окошко дебаггера в Делфи, сервер пишет connection refused. Если же эту функцию ExQuery пихнуть прямо в тело основной проги, то все ОК. Так же все хорошо,если закоментить строку в DLL-кеClient.ReadLn;
Однако в данном случае я не могу принимать ответы сервера.
Плюс для меня остается непонятным один момент, то, что клиент не хочет соединяться первый раз. Против этого у меня написано там жеtry
Client.Connect;
except
Client.Disconnect;
Client.Connect;
end;
Работает, но смотрится некрасиво как-то.
← →
umbra © (2007-01-29 19:10) [1]
> library UreadMessagesCls;
>
> uses XMLDoc, IdTCPServer, IdTCPClient, Dialogs, SysUtils;
>
>
а где жеShareMem
?
Important note about DLL memory management: ShareMem must be the
first unit in your library"s USES clause AND your project"s (select
Project-View Source) USES clause if your DLL exports any procedures or
functions that pass strings as parameters or function results. This
applies to all strings passed to and from your DLL--even those that
are nested in records and classes.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2007.09.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.052 c