首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎样把serversocket放在一个.pas(没有form)文件中,并且把事件也相应写在里面(做成公用的),该如何处理

2012-02-11 
怎样把serversocket放在一个.pas(没有form)文件中,并且把事件也相应写在里面(做成公用的)rt:我在该单元文

怎样把serversocket放在一个.pas(没有form)文件中,并且把事件也相应写在里面(做成公用的)
rt:
我在该单元文件里面定义了一个变量sssocket:Tserversocket;
然后写了一个过程来动态创建sssocket:=Tserversocket.create(nil);
但是在给sssocket的事件指定事件时提示类型不匹配,sssocket.onconnect:=socketconn;
其中:socketconn是我在该单元文件里面定义的一个连接事件的过程
procedure socketconn;
begin
...
end;
有办法搞定吗?

[解决办法]
你还得在前面定义部分加入socketconn的定义吧:


type
private
procedure socketconn;


[解决办法]
FServerSocket := TServerSocket.Create(nil);
FServerSocket.Port := PSocketPort;
FServerSocket.ServerType := stNonBlocking;

FServerSocket.OnListen := SocketListen;
FServerSocket.OnClientConnect := ClientConnect;
FServerSocket.OnClientRead := ClientRead;
FServerSocket.OnClientError := ClientError;
FServerSocket.OnClientDisconnect := ClientDisconnect;


procedure SocketListen(Sender: TObject; Socket: TCustomWinSocket);
procedure ClientConnect(Sender: TObject; Socket: TCustomWinSocket);
procedure ClientRead(Sender: TObject; Socket: TCustomWinSocket); //数据接收
procedure ClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: integer);
procedure ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); //连接断开
[解决办法]
不喜欢窗口的话,可以用DataModule....

热点排行