zoukankan      html  css  js  c++  java
  • Delphi回调函数的使用-例子

    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.

  • 相关阅读:
    C# SqlDataAdapter
    数据库游标
    什么是DooPHP Framework ?
    健康世界官方网站绿色健康知识门户网站源码www.jiankangshijie.com
    蓝色教程资讯、软件下载网站风格全套织梦模板
    分享一本正在看的电子书,相当不错
    DooPHP中国官方微博
    DooPHP Framework 中文手册 v1.2
    吉林织梦网络公司网站风格模板 www.thinkphp.biz
    CSS HACK:IE6、IE7、IE8、Firefox兼容性问题解决方案
  • 原文地址:https://www.cnblogs.com/wxb-km/p/3523697.html
Copyright © 2011-2022 走看看