我正在尝试在运行时创建TClientsocket但我无法分配事件。
我用
var
cs:TCLIENTSOCKET;
procedure OnReadx;
begin
end;
procedure intsok;
begin
cs:=Tclientsocket.create(nil);
cs.OnRead:=OnReadx;
end;
它不起作用。这样做的正确方法是什么?
答案 0 :(得分:4)
并且事件声明为
TSocketNotifyEvent = procedure (Sender: TObject; Socket: TCustomWinSocket) of object;
所以你已经用这些参数写了一个函数,例如
procedure OnReadx(Sender: TObject; Socket: TCustomWinSocket);
并在代码中分配:
cs.OnRead:=OnReadx;
最好的问候,
答案 1 :(得分:3)
问题是TClientSocket类要求其各种事件的事件处理程序是方法指针(它们必须属于某个对象),而不是常规过程。
解决了!