如何将一过程(或函数)作为参数传递给另一过程?(50分)

把它的指针传过去就可以了
 
请大虾给个例子, 谢谢
 
一般来说, 首先要定义一个procedure 或function的类型, 然后在被调用过程的
声明中需要传递的过程或函数的参数设为该类型.
例如
type TProcedureA = procedure(params...);

procedure testProcA;
var
testvar: TProcedureA;
begin
testvar:=testProcB;
testProcC(testvar);
end;

procedure TestProcB(params....);
begin
....
end;

procedure TestProcC(ProcVar: TProcedureA);
begin
ProcVar(params....);
....
end;

限制是被传递的procedure 或 function只能是同一类的(参数个数和类型必须相同)
还有别的方法吗?
(是否可以从TMethod上动脑筋? 没试过)
 
多人接受答案了。
 
顶部