已知有一个过程如下:
procedure Test(var q:TNotifyEvent);
begin
q:=xxxx;
end;var x:TNotifyEvent;
begin
test(x); //这样是合法的
test(Button1.Onclick); //但这是非法的.
end;也许大家问我为何不使用Button1.Onclick:=xxx;
这是因为我想做一个类,它不但可保存TNotifyEvent的变量,也可保存任意对象的TNotifyEvent属性(属性名可以任意).
这样,就可以在特定情况下把这个TNotifyEvent指向特定的事件.所以有些一问,不知哪位高手能指点一下.
procedure Test(var q:TNotifyEvent);
begin
q:=xxxx;
end;var x:TNotifyEvent;
begin
test(x); //这样是合法的
test(Button1.Onclick); //但这是非法的.
end;也许大家问我为何不使用Button1.Onclick:=xxx;
这是因为我想做一个类,它不但可保存TNotifyEvent的变量,也可保存任意对象的TNotifyEvent属性(属性名可以任意).
这样,就可以在特定情况下把这个TNotifyEvent指向特定的事件.所以有些一问,不知哪位高手能指点一下.
解决方案 »
- 为什么Indy中分IdUDPClient与IdUDPServer吗,好像微软用一个UDPSocket就搞定了啊,奇怪,大家讨论一下
- 又一个新问题,还是关于ADOQuery查询的,请大家进来!~
- dbgrid中如果不给TColumn付FieldName,怎样给该列的单元格付值?谢谢!
- selected collating sequence not supported by the operating system//出现这个错误是怎么回事
- delphi+串口+EPSON ESC/POS指令写pos打印机程序
- 用ADOQuery怎样实现线程安全?(Delphi6)
- 关于midas
- 那位大哥,可不可以把自己用delphi数据开发的经验。技巧。给我说说
- 请问通过Delphi如何实现截取远程主机的端口并读取端口数据流?
- DELPHI如何操作WORD文档?
- 用eXeScope 知道了 编号 怎么读取.dll OR .exe里的资源
- WebBrowser请教
begin
test(x); //这样是合法的
test(Button1.Onclick); //但这是非法的.
end;
=====================================================
var x:TNotifyEvent;
begin
test(x); //这样是合法的
x := Button1.Onclick;
test(x); //这应该合法吧.
end;
就像Button的OnClick事件一样
myClass.myEvent := Button.Onclick;
有何不可?