理解 Delphi 的类(十) - 深入方法[26] - 回调函数
2008-01-15 11:37
489 查看
//把一个方法当作另一个方法的参数, 就是回调方法, 大家习惯称作回调函数 type TFunType = function(i: Integer): Integer; {声明一个方法类型} function MyFun(i: Integer): Integer; {建立类型兼容的函数} begin Result := i*2; end; {把函数当作参数, 再定义一个函数} function MyTest(x: Integer; F: TFunType): Integer; begin Result := F(x); end; {测试} procedure TForm1.Button1Click(Sender: TObject); var Fun: TFunType; {声明一个 TFunType 的变量} i: Integer; begin Fun := MyFun; {让方法变量 Fun 指向和它类型兼容的一个方法} {测试 Fun; Fun 是一个方法变量, 现在去执行那个方法, 它就可以当作那个方法来使用了} i := Fun(4); ShowMessage(IntToStr(i)); //8 {把 Fun 当作参数使用; 把函数当作参数使用, 这就是回调函数} i := MyTest(4,Fun); ShowMessage(IntToStr(i)); //8 end;
相关文章推荐
- 理解 Delphi 的类(十) - 深入方法[6] - Result
- 理解 Delphi 的类(十) - 深入方法[14] - 在TForm1 类内声明的方法
- 理解 Delphi 的类(十) - 深入方法[23] - 重载
- 理解 Delphi 的类(十) - 深入方法[25] - 使用方法类型
- 理解 Delphi 的类(十) - 深入方法[28] - 递归函数实例: 搜索当前目录下的所有嵌套目录
- 理解 Delphi 的类(十一) - 深入类中的方法[1] - 虚方法与动态方法
- 理解 Delphi 的类(十一) - 深入类中的方法[10] - 构造方法与析构方法
- 理解 Delphi 的类(十) - 深入方法[7] - Result
- 理解 Delphi 的类(十) - 深入方法[15] - 调用其他单元的函数
- 理解 Delphi 的类(十) - 深入方法[24] - 方法是一个指针
- 理解 Delphi 的类(十一) - 深入类中的方法[6] - 类中的方法重载
- 理解 Delphi 的类(十一) - 深入类中的方法[11] - 事件方法
- 理解 Delphi 的类(十一) - 深入类中的方法[8] - 抽象方法与抽象类
- 理解 Delphi 的类(十) - 深入方法[8] - 如果忘了返回值
- 理解 Delphi 的类(十) - 深入方法[16] - 方法的顺序
- 理解 Delphi 的类(十一) - 深入类中的方法[2] - 关于覆盖与重定义
- 理解 Delphi 的类(十一) - 深入类中的方法[5] - 静态方法、类方法、静态类方法
- 理解 Delphi 的类(十) - 深入方法[9] - 调用时的括号
- 理解 Delphi 的类(十) - 深入方法[17] - 提前声明
- 理解 Delphi 的类(十) - 深入方法[20] - 静态数组参数