Delphi能不能实现用数组保存过程地址(100分)

  • 主题发起人 主题发起人 findya
  • 开始时间 开始时间
F

findya

Unregistered / Unconfirmed
GUEST, unregistred user!
[8D]c中可以使用指向函数的指针数组。比如有一个函数数组变量定义为
boolean (*production[])(int x,int y,int* offsetx,int* offsety)={p1,p2,p3,p4,p5,p6,p7,p8,NULL};
其中p1、p2 ... p8为自定义的函数,那么可以这样依次调用各个过程
for (i = 0; i < 8; i ++)
((*production)(x,y,&amp;offsetx,&amp;offsety);
我的问题是在delphi中有没有类似的做法,如何实现,谢谢!
 
假定p1-p8已经定义

type
TProc = function(x, y: integer; var offsetx, offsety: integer): boolean;

TProcArray = array[1..8] of TProc;

const
Proc : TProcArray = (p1, p2, p3, p4, p5, p6, p7, p8);

var
I : Integer;
x, y, offsetx, offsety : integer;
begin
for I := 1 to 8 do
Proc(x, y, offsetx, offsety);
end;

 
问题已经解决,感谢tseug
 
多人接受答案了。
 
后退
顶部