program Project2; {$APPTYPE CONSOLE} uses SysUtils; type //定义一个对象事件方法 TCallbackFunc = function (i: Integer): Integer of object; TMyCallBackObject = class private FcallBack: TCallbackFunc; function SetcallBack(const Value: TCallbackFunc): Integer; pub…
用法一 Type TProc=procedure() of object; procedure Callback(proc:TProc); begin ... end; procedure myproc() begin ... end; Callback(myproc); 用法二 type TProc= reference to Procedure(); procedure Callback(proc:TProc); begin .... end; Callback( procedure()be…
函数重载重载的思想很简单:编译器允许你用同一名字定义多个函数或过程,只要它们所带的参数不同.实际上,编译器是通过检测参数来确定需要调用的例程.下面是从VCL 的数学单元(Math Unit)中摘录的一系列函数: function Min (A,B: Integer): Integer; overload; function Min (A,B: Int64): Int64; overload; function Min (A,B: Single): Single; overload; functi…