加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何检查两个事件是否在Delphi中指向相同的过程?

发布时间:2020-12-15 04:29:00 所属栏目:大数据 来源:网络整理
导读:说我有一个Button1.OnClick事件链接到Button1Click过程.我也有Button2.OnClick链接到一些其他过程.如何检查这两个事件是否与运行时链接到不同或相同的过程? 我试图测试: Button1.OnClick = Button2.OnClick,但是给我一个错误(没有足够的实际参数) @(Button
说我有一个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;

希望这可以帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读