经管没有高手露面,可我还是继续提问题,关于DLL的
编写了一个DLL,用CLIENTSOCKET控件,但是clientsocket1read事件一直不触发,请问为什么?
library clientsocket;
uses
SysUtils,
ScktComp,
Dialogs,
Classes;
var
ClientSocket1 : TClientSocket;
{$R *.res}
procedure init_socket(svr_ip : pchar) stdcall;
begin
ClientSocket1 := TClientSocket.create(nil);
ClientSocket1.ClientType := ctNonBlocking;
ClientSocket1.Address:=svr_ip;
ClientSocket1.port:=2058;
ClientSocket1.Active:= false;
ClientSocket1.Active:= true;
// if ClientSocket1.Active then
// else
// begin
// showmessage('无法连接服务器!');
// ClientSocket1.close();
// ClientSocket1.free;
// end;
end;
procedure sendmsg( send_text : pchar) stdcall;
begin
ClientSocket1.Socket.SendText(send_text);
if not ClientSocket1.Active then
begin
showmessage('无法连接服务器!');
ClientSocket1.close();
ClientSocket1.free;
end;
end;
procedure close_socket( ) stdcall;
begin
ClientSocket1.Active:= false;
ClientSocket1.close();
ClientSocket1.free;
end;
procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
var
s:string;
begin
s:=ClientSocket1.Socket.ReceiveText;//接收信息
showmessage(s);
//Memo1.Lines.Add('服务器端返回的信息为:'+s);
end;
exports
init_socket,
close_socket,
sendmsg;
begin
end.