Delphi回调函数的使用-例子

功能大体描述:Form1中有一个Edit和一个Button,当点击BUTTON时弹出FORM2,FORM2中也有一个EDIT和一个BUTTON,当点击FORM2中的BUTTON时,将FORM2中的EDIT的TEXT属性赋值给FORM1中的EDIT的TEXT。

unit Unit1;

interface

uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs,StdCtrls;

type   TForm1 = class(TForm)     {主窗体中放一个Edit和一个Button}     Edit1: TEdit;     Button1: TButton;     procedure Button1Click(Sender: TObject);   private     { Private declarations }     {定义一个用于回调的过程}     procedure test(str:string);   public     { Public declarations }   end;

var   Form1: TForm1;

implementation {引用unit2} uses unit2; {$R *.dfm} {回调过程的实现部分} procedure TForm1.test(str: string); begin   {将str值副给Edit1}   Edit1.Text:=str; end;

procedure TForm1.Button1Click(Sender: TObject); begin     {调用Unit2的接口方法}     CallUnit2(test); end;

end.

unit Unit2;

interface

uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls;

type   {定义一个回调函数类型}   TFuncCallBack=procedure(str:string) of object;   TForm2 = class(TForm)     {Form2中也有一个Edit和一个Button}     Edit1: TEdit;     Button1: TButton;     procedure Button1Click(Sender: TObject);   private     { Private declarations }     {定义一个回调函数类型的变量}     aFuncCallBack:TFuncCallBack;   public     { Public declarations }   end;   {提供给Unit1调用的接口方法,注意里面的参数的类型}   procedure CallUnit2(FuncCallBack:TFuncCallBack);

var   Form2: TForm2;

implementation

{$R *.dfm} {接口方法的实现部分} procedure CallUnit2(FuncCallBack:TFuncCallBack); begin   Application.CreateForm(TForm2,Form2);   {将参数赋值给FuncCallBack}   Form2.aFuncCallBack:=FuncCallBack;

Form2.ShowModal; end; procedure TForm2.Button1Click(Sender: TObject); begin   {当点击Form2的按钮时将Form2中的Edit的值传递给了Form1中的Edit}   {是不是很神奇?我并没有uses Unit1,但却改变了Form1中Edit的Text属性}   aFuncCallBack(Edit1.Text);   ModalResult:=mrOk; end;

end.

Delphi回调函数的使用-例子的更多相关文章

  1. Delphi回调函数及其使用

    Delphi回调函数及其使用 1 回调函数的概述 回调函数是这样一种机制:调用者在初始化一个对象(这里的对象是泛指,包括OOP中的对象.全局函数等)时,将一些参数传递给对象,同时将一个调用者可以访问的 ...

  2. 转:Delphi 回调函数及例子

    http://anony3721.blog.163.com/blog/static/5119742010866050589/ { http://anony3721.blog.163.com/blog/ ...

  3. delphi回调函数

    文章来源: http://anony3721.blog.163.com/blog/static/5119742010866050589/ 一.主单元 unit UnMain; interface us ...

  4. delphi 回调函数

    program Project2; {$APPTYPE CONSOLE} uses SysUtils; type //定义一个对象事件方法 TCallbackFunc = function (i: I ...

  5. 回调函数callback使用例子

    代码如下: <!DOCTYPE HTML> <html> <head> <meta charset="GBK" /> <tit ...

  6. C++ 回调函数的简单例子(转)

    原文转自 http://blog.csdn.net/wnlwcg/article/details/6930990# 1.调用端 // 下面的这个_stdcall很重要的 void _stdcall T ...

  7. delphi回调函数高级应用

    用法一 Type TProc=procedure() of object; procedure Callback(proc:TProc); begin ... end; procedure mypro ...

  8. 理解 JavaScript 回调函数并使用

    JavaScript中,函数是一等(first-class)对象:也就是说,函数是 Object 类型并且可以像其他一等对象(String,Array,Number等)一样使用.它们可以"保 ...

  9. javascript 函数初探 (四)--- 回调函数

    回调函数 既然函数与任何被赋值给变量的数据是相同的,那么她当然可以像其他数据那样被定义.删除.拷贝,以及当成参数传递给其它函数. 我们定义一个函数,这个函数有两个函数类型的参数,然后他会分别执行这两个 ...

随机推荐

  1. Eureka 源码编译安装部署---Eureka运行eureka-server服务

    ---恢复内容开始--- 折腾了几天,终于运行好了,两个字:佩服 首先感谢这个大佬的博客支持:https://www.cnblogs.com/lifuping/p/5663127.html 1.首先在 ...

  2. cat 命令

    cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. 1.命令格式: cat [选项] [文件] ...

  3. win10正式版开始菜单无法打开,右边的网络连接、操作中心也打不开

    问题描述: 开机后电脑键盘的win键无响应,鼠标点击菜单栏中的这几个按键也都无响应,但是点击自己固定的应用程序却没有问题,在网上查找尝试了许多资料,终于找到了一个合适的解决方案.现记录如下 解决方案: ...

  4. Android中的常见通信机制和Linux中的通信机制

    Handler Handler是Android系统中的一种消息传递机制,起作用是应对多线程场景.将A进程的消息传递给B线程,实现异步消息处理.很多情况是将工作线程中需要更新UI的操作消息传递给UI主线 ...

  5. nginx(Window下安装 & 配置文件参数说明 & 实例)

    一.为什么需要对Tomcat服务器做负载均衡:  Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果有超过500的并发数便会出现Tomcat不能响应新的请求的情况,严重影响网站 ...

  6. Unity3d 中文菜单

  7. [php]Maximum function nesting level of '100' reached错误

    今天在做后台一个模块的时候报出了这个错误. Maximum function nesting level of '100' reached 仔细分析之后发现是在类的初始化过程中(__construct ...

  8. OC中第三方库MJExtension的使用

    MJExtension是一套常用的"字典和模型之间互相转换"的框架,在项目中也使用过,现在记录一下.随着Swift的普及,在Swift中也有一个类似功能的框架HandyJSON 也 ...

  9. 深入 JavaScript 中的对象以及继承原理

    ES6引入了一个很甜的语法糖就是 class, class 可以帮助开发者回归到 Java 时代的面向对象编程而不是 ES5 中被诟病的面向原型编程. 我也在工作的业务代码中大量的使用 class, ...

  10. HDU 4772 Zhuge Liang&#39;s Password (简单模拟题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4772 题面: Zhuge Liang's Password Time Limit: 2000/1000 ...