作者:彩色蜗牛 | 来源:互联网 | 2023-05-17 10:02
请问一语法问题, 比如 aaa = procedure (i:integer) of object 这是什么意思,举个例子
如何使用呢? 谢谢!
4 个解决方案
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);
type
Taaa = procedure (i:integer) of object ;
var
ap: Taaa;
begin
ap := BBB;
ap(1);
ap := CCC;
ap(2);
end;
方法类型,也就是一种类型,蛮特殊的。。。可以当变量来用...
楼上的例子应该讲得非常的清楚了...我加点注释吧...呵呵
procedure TForm1.Button1Click(Sender: TObject);
type
Taaa = procedure (i:integer) of object ;
var
ap: Taaa;
begin
ap := BBB; //这里把BBB这个方法赋给ap这个变量,注意BBB与ap的声明原型要一样,不然会有错的。。。
ap(1); //这里实际调用的就是BBB了。。。
end;