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. stage3D基础二-----顶点和片段着色器(转)

    来源:http://www.adobe.com/cn/devnet/flashplayer/articles/vertex-fragment-shaders.html 本教程将介绍着色器.着色器是 S ...

  2. spring 事件驱动模型简介

    事件驱动模型简介 事件驱动模型也就是我们常说的观察者,或者发布-订阅模型:理解它的几个关键点: 首先是一种对象间的一对多的关系:最简单的如交通信号灯,信号灯是目标(一方),行人注视着信号灯(多方): ...

  3. Linux下vim命令总结

    一.光标控制命令   命令                   移动    k                   向上移一行    j                   向下移一行    h    ...

  4. NOJ1167 丑陋数 想法题

    题意 丑陋数n的意思是n的全部素数因子仅仅有2,3,5. 求出前1500个丑陋数. (第一个丑陋数是1) 思路 用一个数组维护全部的丑陋数. 一開始数组中仅仅有一个数就是1. 如今能够确定的丑陋数还有 ...

  5. 查看vnc server的日志

    grep vnc /var/log/messages 转自: http://blog.csdn.net/denghua10/article/details/39107309

  6. [c++]对象指针,引用的操作

    1.time类保存在"htime.h"中.要求: ⑴ 数据成员包括时(hour).分(minute).秒(second),为私有成员: ⑵ 能给数据成员提供值的成员函数(默认值为0 ...

  7. html5小趣味知识点系列(一)pubdate

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. iOS 递归锁

    原理:递归锁也是通过 pthread_mutex_lock 函数来实现,在函数内部会判断锁的类型.NSRecursiveLock 与 NSLock 的区别在于内部封装的 pthread_mutex_t ...

  9. java面向对象编程知识点总结

    一:今天完成 上午详细了解了java面向对象编程的一些细节,记录如下. 1)类 是一种引用类型,包含一个签名和一个主体,主体是放在花括号里面的成员,成员包括字段和方法,还有构造方法.初始化程序和嵌套类 ...

  10. 【BZOJ1899】[Zjoi2004]Lunch 午餐 贪心+DP

    [BZOJ1899][Zjoi2004]Lunch 午餐 Description 上午的训练结束了,THU ACM小组集体去吃午餐,他们一行N人来到了著名的十食堂.这里有两个打饭的窗口,每个窗口同一时 ...