今天有个朋友问我怎么用函数或者过程作为函数的参数呢,我说网上有挺多的,然而他告诉我很多例子运行不起来,我搜了几个测试了下,不知道是不是我自己的软件版本的问题,运行不了,所以自己研究了下,把自己能运行的贴出来,和大家分享分享。

先说说回调函数需要注意的几个步骤吧,

首先要声明一个类型;

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();
begindotest(test);
end

如果还是不明白就来电简单的完整的例子吧

unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs,ComCtrls, StdCtrls;typeTFunc = procedure() of object;TForm1 = class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);private{ Private declarations }public{ Public declarations }function myTest(f:TFunc):string;procedure abc();end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.abc;
beginshowmessage('这是回调函数测试');
end;procedure TForm1.Button1Click(Sender: TObject);
beginmyTest(abc);
end;function TForm1.myTest(f:TFunc):string;
beginf();
end;end.

测试结果是这样的

delphi 回调函数例子 用函数过程作为参数相关推荐

  1. python 函数例子_Python3函数之例子

    1.分别使用递归.循环和生成器求菲波那切数列 递归: def fib_rec(n): if n == 0: return 1 if n == 1: return 1 return fib_rec(n- ...

  2. 【Matlab 控制】Simulink仿真+S函数例子

    Simulink 仿真+S函数例子 S 函数代码如下: function [sys,x0,str,ts,simStateCompliance] = Eg3_7_SFunction(t,x,u,flag ...

  3. 《C++ Primer 第五版》(第6.3~6.7节)——返回指向数组/函数的指针,函数重载,默认形参、inline函数和constexpr函数

    1.返回指向数组/函数的指针 顾名思义,就是函数返回值为指向数组/函数的指针. 数组的性质:不能被拷贝,函数也不能返回数组.但可以返回数组指针/引用,声明一个返回数组指针的函数,有四种方式,一种是直接 ...

  4. delphi 回调函数

    "回调机制"是window 在执行某个API函数的过程中,调用指定的一个函数(回调函数). 比如:你有一个任务,但是有一部分你不会做,或者说不愿做,所以我来帮你做这部分,你做你其它 ...

  5. 回调函数例子_Linux C - C基础篇八(函数)

    概念 函数可以被看作是一个由用户定义的一系列操作的集合.一般来说,函数用一个名字来表示.函数的操作数,称为参数,由一个位于括号中,并且用逗号分隔的参数列表指定,如果该函数没有参数需要传入,则这个列表为 ...

  6. c语言函数指针封装函数,C语言之函数指针、回调函数的使用

    一.背景 首先看下如下代码,这个定义是放在头文件的,在程序中tCdrvCallbackFkt也定义了另一个变量,而且括号后面还跟定义了几个变量,不理解这个定义. typedef void (PUBLI ...

  7. 面试题:函数回调机制、异步函数回调机制图例详解 没毛用

    函数回调机制,一种双向调用思想,简单来说就是,如下图所示: 在层次一中的方法一(函数)调用层次二中的方法,并传入函数二的地址,而这个被调用的方法又会调用层次一中的方法,这个最后被调用的方法二就是回调方 ...

  8. JavaScript中的引用函数、调用函数和回调函数

    引用函数与调用函数的区别 引用函数与调用函数的差别与函数名称后是否附有括号()有关.函数引用只会单独出现,但函数调用则必定后随括号,很多时候还附有自变量. 举个例子 // 函数引用 代码一 funct ...

  9. C语言指针数组,数组指针,函数指针,函数指针数组,函数指针数组的指针,回调函数

    C语言指针的一些知识点 指针 指针数组和数组指针的概念 函数指针,函数指针数组,函数指针数组的指针 回调函数 指针 1.指向对象的指针 int *p = new int(10); delete p; ...

最新文章

  1. 设计模式之职责链模式(Chain of Responsibility)摘录
  2. javascript的族家族史
  3. MATLAB基本操作(九):可视化矩阵的矢量场quiver函数
  4. Android Binder ProcessState IPCThreadState相关介绍
  5. 马赛克,克星,真来了!
  6. lua----------------使用VS2015搭建lua开发环境的一些侥幸成功经验,
  7. Promise 源码:静态方法
  8. 是谁在我的心里打了个结(二十一)托付
  9. 【读书笔记】商业自传-PayPal程序员-硅谷钢铁侠-埃隆·马斯克,SpaceX CEO、特斯拉公司CEO、太阳城公司董事会主席。
  10. Vmware虚拟机win10详细安装之典型安装
  11. 联想微型计算机怎么光盘启动,联想笔记本电脑win10怎么设置光盘启动
  12. Day-3 文字排版
  13. 假如现在你有30分钟,你会做什么?
  14. CCF TALKs 报名 | 今天,技术如何推动社会进步
  15. 算力网络价值场景和市场机遇探讨
  16. 汇编语言学习笔记06——加减乘除和其他一些指令
  17. 便携式明渠流量计比对装置--执行的标准规范
  18. 【密码算法 之零】对称算法(DES,、3DES、 AES、DM5、HMAC、CMAC、SHAxx、SM3、SM4),非对称算法(RSA、ECC、ECDSA、ECDH、SM2、SM9...)
  19. 如何设计一个自己的操作系统(1)
  20. SpringBoot+Vue项目投票系统

热门文章

  1. linux vscode配置HBuilderX雅蓝主题
  2. K8S部署工具:KubeOperator系统设置
  3. KubeOperator总体介绍(K8S集群部署管理工具)
  4. arthas的安装(在线/离线)和卸载
  5. JDBC的SQL注入漏洞分析和解决
  6. MySQL使用覆盖索引来优化limit语句
  7. 使用Dockerfile脚本创建镜像
  8. 怎样进入android模式,安卓手机如何进入Recovery模式的通用方式详解
  9. vue项目获取下拉框选中id_vue treeselect获取当前选中项的label实例
  10. notes邮件正文显示不全_Outlook邮件中的可操作消息(Actionable Message)