Delphi回调函数的使用-例子

淡淡的烟草味﹌ 2021-11-22 16:10 392阅读 0赞

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.

转载于:https://www.cnblogs.com/wxb-km/p/3523697.html

发表评论

表情:
评论列表 (有 0 条评论,392人围观)

还没有评论,来说两句吧...

相关阅读

    相关 函数使用

    概述 回调函数,简称回调(Callback),是指通过函数参数传递到其他代码的,某一块可执行代码的引用。 1. `询问问题(调用对方接口),然后问题解决之后再告诉你(

    相关 函数

    回调函数是一种函数指针的使用方式。 stdcall和cdecl的区别:这个问题涉及到函数调用的汇编知识,暂只需记住stdcall和cdecl的参数压栈顺序是相同的,参

    相关 函数-例子-C语言

      之前看到过关于回调函数的内容,不是特别理解,最近突然又看到了关于回调函数的内容,想着试着把代码实现一遍可能会加深理解。于是搜了一下回调函数的概念,在百度百科上看到的概念:[

    相关 函数

    回调与回调函数 回调 回调函数 回调   回调指的是某函数在执行的时候,由于某些原因,该函数被迫中止执行,交出当前线程的使用权,当前线程转而执行其它函

    相关 js函数使用

    在第一次学js的时候,估计很多人对回调函数很蒙,今天有空梳理总结下回调函数,算是一次学习,算是一次总结,也算是一次分享。 文章目录 回调函数执行流程