今天有个朋友问我怎么用函数或者过程作为函数的参数呢,我说网上有挺多的,然而他告诉我很多例子运行不起来,我搜了几个测试了下,不知道是不是我自己的软件版本的问题,运行不了,所以自己研究了下,把自己能运行的贴出来,和大家分享分享。
先说说回调函数需要注意的几个步骤吧,
首先要声明一个类型;
type TProc = procedure(str:string) of object; //这里的of object 一定要,不然会出错,也可能是有些方法自己不知道吧,希望知道的可以告诉一声;
第二步:定义一个过程
procedure test(str:string); //注意这个作为参数的函数内部的参数必须和TProc 的参数一样;
begin
showmessage(str);
end
第三步 定义一个调用test 这个函数的函数
procedure dotest(F:TProc);
begin
F('这是回调函数的测试');
end
第四步 就可以使用了
procedure show();
begin
dotest(test);
end
<