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

Delphi 中的 procedure of object

发布时间:2020-12-15 10:03:40 所属栏目:大数据 来源:网络整理
导读:delphi中经常见到以下两种定义 Type TMouseProc = procedure (X,Y:integer); TMouseEvent = procedure (X,Y:integer) of Object; 两者样子差不多但实际意义却不一样,TMouseProc只是单一的函数指针类型; TMouseEvent是对象的函数指针,也就是对象/类的函数/方
delphi中经常见到以下两种定义
 
Type
 
TMouseProc = procedure (X,Y:integer);
 
TMouseEvent = procedure (X,Y:integer) of Object;
 
两者样子差不多但实际意义却不一样,TMouseProc只是单一的函数指针类型;
 
TMouseEvent是对象的函数指针,也就是对象/类的函数/方法
 
区别在于类方法存在一个隐藏参数self,也就是说两者形参不一样,所以不能相互转换。
 
这也就是为什么delphi中可以这样赋值 button1.onClick:=button2.onClick;
 
却不能这样赋值 button1.onclick=buttonclick; (buttonclick为本地函数,button2.onclick为类方法)的原因!
 


方法类型定义:TMethod = procedure of object; 

(编辑:李大同)

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

    推荐文章
      热点阅读