不确定tittle是否正确但我需要做的是在某个集合中存储指向指定函数的指针。我这样做非常像声明一个变量
SomeFunctionName: string
当然这种类型不能是一个字符串,问题是它究竟应该是什么?
答案 0 :(得分:6)
您通常会使用函数指针变量。例如:
type
TProcedure = procedure;
procedure MyProc1;
begin
end;
procedure MyProc2;
begin
end;
var
Proc: TProcedure;
.....
Proc := MyProc1;
Proc();//calls MyProc1
Proc := MyProc2;
Proc();//calls MyProc2
这是可以想象的最简单的例子。您可以指定具有参数列表,对象类型方法等的过程类型。请阅读语言指南的Procedural Types主题。
答案 1 :(得分:1)
您实际上并不存储过程/功能而是存储方法。
所以你应该使用TMethod。 TMethod有一个对象指针和一个过程指针。
您可以在另一篇文章中看到更多细节: Save and restore event handlers
编辑:在显示一些存储TControl.onClick事件请求之后,问题似乎已经编辑回原版.....