说我有一个Button1.OnClick事件链接到Button1Click过程.我也有Button2.OnClick链接到一些其他过程.如何检查这两个事件是否与运行时链接到不同或相同的过程?
我试图测试:
> Button1.OnClick = Button2.OnClick,但是给我一个错误(没有足够的实际参数)
> @(Button1.OnClick)= @(Button2.OnClick),再次出错(实际参数不足)
如何正确测试?
解决方法
方法引用可以分为两部分,指向对象的指针和方法本身的指针.在名为TMethod的系统单元中定义了一种方便的记录类型,可以让我们进行分解.
有了这个知识,我们可以写这样的东西:
function SameMethod(AMethod1,AMethod2: TNotifyEvent): boolean; begin result := (TMethod(AMethod1).Code = TMethod(AMethod2).Code) and (TMethod(AMethod1).Data = TMethod(AMethod2).Data); end;
希望这可以帮助.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。