动态绑定事件
今天碰到一个情况,想在DLL当中使用组件。
由于是在DLL中,所以没有拖放的窗体,也就是说,组件本身只能动态创建。
那么,动态创建的组件,就需要绑定动态事件。。结果报错:
Incompatible types: 'method pointer and regular procedure'
解决办法:
事件必须在类当中
type
TEventHandlers = class { 建一个虚拟类}
procedure Binary(Connection: TsgcWSConnection;const Data: TMemoryStream);
procedure UnknownProtocol(Connection: TsgcWSConnection;var Accept: Boolean);
end;
var
EvHandler:TEventHandlers; //这个需要定义为全局变量
procedure TEventHandlers.Binary(Connection: TsgcWSConnection;
const Data: TMemoryStream);
begin
end;
procedure TEventHandlers.UnknownProtocol(Connection: TsgcWSConnection;var Accept: Boolean);
begin
end;
begin
//绑定事件
Server.OnBinary:=EvHandler.Binary;
Server.OnUnknownProtocol:=EvHandler.UnknownProtocol;
end;
目录 返回
首页
- 评论列表