type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure BBB(I: Integer); procedure CCC(I: Integer); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; Txxx=class procedure test; end;TMyProc=procedure of Object;TMyFunc=function(a: Integer): Integer of Object;var Form1: TForm1;implementation{$R *.dfm}procedure Txxx.test;begin showmessage('1');end;procedure TForm1.BBB(I: Integer);begin showmessage( 'BBB: ' + IntToStr(I)); end;procedure TForm1.CCC(I: Integer); begin showmessage( 'CCC: ' + IntToStr(I)); end;procedure TForm1.Button1Click(Sender: TObject);var ProcPtr:TMyProc; obj:Txxx;begin obj:=Txxx.Create; ProcPtr:= obj.test;//Txxx.test; ProcPtr; obj.Free;end;procedure TForm1.Button2Click(Sender: TObject);type Taaa = procedure (i:integer) of object ; var ap: Taaa; begin ap := BBB; //这里有一个隐含Self,完整格式: self.BBB;这里把BBB这个方法赋给ap这个变量,注意BBB与ap的声明原型要一样,不然会有错 ap(1); ap := CCC; ap(2); end;end.
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow