怎样把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....