您的位置:首页 > 其它

开发控件,如何在不隐藏父类事件的情况下加入自己的操作(由开发CdsDjmx模块想到的)

2013-03-29 13:58 288 查看
新类写一个新事件: property OnSocketClientRead:TServerSocketClientRead read FOnSocketClientRead write FOnSocketClientRead;(新类实例事件指针就保存在这里)

原始控件的OnClientRead指向这个新类的一个新方法(SSockets[i].OnClientRead:=Self.ClientRead;),在这里:运行了新类加入的操作,如果新类实例事件有指向也一样运行。

procedure TTCPHashListView.ClientRead(Sender: TObject;

Socket: TCustomWinSocket);

begin

RecvLen:=Socket.ReceiveBuf(RecvBuf[0],4096);

try

if Socket.Data<>nil then

begin

try

TGPSInfo(Socket.Data).LastDataTime:=GetTickCount;

except

end;

end;

if Assigned(FOnSocketClientRead) then

begin

FOnSocketClientRead(Socket.SocketHandle,Socket.Data,RecvBuf,RecvLen);

end;

except

end;

end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐