我试图在运行时创建一个TClientsocket,但是我不能分配事件。
我使用
var
cs:TCLIENTSOCKET;
procedure OnReadx;
begin
end;
procedure intsok;
begin
cs:=Tclientsocket.create(nil);
cs.OnRead:=OnReadx;
end;它不起作用。这样做的正确方法是什么?
发布于 2010-10-19 21:32:38
事件的声明如下所示
TSocketNotifyEvent = procedure (Sender: TObject; Socket: TCustomWinSocket) of object;因此,您已经使用这些参数编写了一个函数,例如
procedure OnReadx(Sender: TObject; Socket: TCustomWinSocket);并像在代码中一样分配它:
cs.OnRead:=OnReadx;诚挚的问候,
发布于 2010-10-19 18:08:06
问题在于,TClientSocket类要求其各种事件的事件处理程序必须是方法指针(它们必须属于某个对象),而不是常规过程。
解决了!
https://stackoverflow.com/questions/3967007
复制相似问题