博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[教程]Delphi 中三种回调函数形式解析
阅读量:5237 次
发布时间:2019-06-14

本文共 773 字,大约阅读时间需要 2 分钟。

Delphi 支持三种形式的回调函数

  • 全局函数
    这种方式几乎是所有的语言都支持的,类的静态函数也可以归为此类,它保存的只是一个函数的代码起始地址指针( Pointer )。在 Delphi 中声明一般为:
  • 类的成员函数
    类的成员函数作为回调函数,与全局函数相比,需要关联具体的类的实例,所以它是由两部分组成,一个是对象的实例地址,一个是代码地址,两个指针,构成一个记录(结构体),参考 Delphi 中 TMethod 的声明:
    在 Delphi 中的声明一般为:
    在实践中,你可以用 absolute 关键字来取出类的成员函数的 Code 和 Data 的值,Data 实际上就是对象的实例地址。Delphi 中的事件一般来说都是此类回调,要求事件响应函数是类的成员函数。
  • 匿名函数
    匿名函数 Delphi 实例上是通过接口来实现的,当你声明一个匿名函数类型时,实际上是声明了一个接口。比如我们看 Delphi 下面的匿名函数声明:
    实际上是声明了一个接口:
    然后当你实现一个匿名函数时,实际上就是实现了这个接口,那个匿名函数遵守接口的一切规则。Delphi 为你隐藏了内部的一切细节~~~

转载自:

转载于:https://www.cnblogs.com/h2zZhou/p/7389458.html

你可能感兴趣的文章
Python 练习判断
查看>>
Python 类实例化
查看>>
JS高级 - 面向对象4(json方式面向对象)
查看>>
Java反射之修改常量值
查看>>
用UIWebView加载本地图片和gif图
查看>>
jmeter远程分布执行遇到的网卡坑(A Test is currently running,stop or ....)
查看>>
Python正则表达式中的re.S
查看>>
Xcode 中设置部分文件ARC支持
查看>>
iOS-解决iOS8及以上设置applicationIconBadgeNumber报错的问题
查看>>
亡灵序曲-The Dawn
查看>>
实验五
查看>>
leetcode 347 priority,map的使用
查看>>
vue 校验插件 veeValidate使用
查看>>
WCF应用(二)
查看>>
jquery.pagination.js分页
查看>>
[BZOJ4009][HNOI2015]接水果(整体二分)
查看>>
网络篇----下载大文件
查看>>
HDU2896 病毒侵袭 AC自动机模板
查看>>
为WebBrowser指定IE内核版本(MSIE 7.0)
查看>>
高性能服务器程序框架
查看>>