zoukankan      html  css  js  c++  java
  • delphi 事件委托 未看

    1 {
    2 使用委托,将方法做为别一个方法的参数传递的例子(回调)
    3 }
    4 unit Unit1;

    6 interface

    8 uses
    9    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    10    Dialogs, StdCtrls;
    11 

    12 type
    13    TDelegateClass=procedure(msg:string) of object;//定义一个委托

    14    TDelegateClassArray=array[0..1] of TDelegateClass;
    15    TForm1 = class(TForm)
    16      Button1: TButton;
    17      Button2: TButton;
    18      procedure Button1Click(Sender: TObject);
    19      procedure Button2Click(Sender: TObject);
    20   private

    21      { Private declarations }
    22      procedure UserMethod(msg:string);//委托指定的用户自定义方法

    23      procedure UserMethod2(msg:string);//委托指定的用户自定义方法2    
    24      procedure doDelegate(Delegate:TDelegateClass;msg:string);//如果委托实例存在,就执行委托
    25   public
    26      { Public declarations }
    27    end;
    28 

    29 var
    30    Form1: TForm1;
    31 

    32 implementation
    33 

    34 {$R *.dfm}
    35 

    36 { TForm1 }
    37 

    38 procedure TForm1.doDelegate(Delegate:TDelegateClass;msg:string);
    39 begin
    40   if Assigned(Delegate) then
    41    Delegate(msg);
    42 end;
    43 

    44 procedure TForm1.Button1Click(Sender: TObject);
    45 begin
    46    doDelegate(UserMethod,'test');//调用委托处理程序,显示test信息

    47 end;
    48 

    49 procedure TForm1.UserMethod(msg: string);
    50 begin
    51    showmessage(msg);
    52 end;
    53 

    54 procedure TForm1.Button2Click(Sender: TObject);
    55 var
    56    test:TDelegateClassArray;
    57 begin
    58    test[0]:=UserMethod;
    59    test[1]:=UserMethod2;
    60    doDelegate(test[0],'test');
    61    doDelegate(test[1],'test');
    62 end;
    63 

    64 procedure TForm1.UserMethod2(msg: string);
    65 begin
    66    showmessage('这是第二个方法');
    67 end;
    68 

    69 end.
  • 相关阅读:
    sqlhelper使用指南
    大三学长带我学习JAVA。作业1. 第1讲.Java.SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行 大三学长带我学习JAVA。作业1.
    pku1201 Intervals
    hdu 1364 king
    pku 3268 Silver Cow Party
    pku 3169 Layout
    hdu 2680 Choose the best route
    hdu 2983
    pku 1716 Integer Intervals
    pku 2387 Til the Cows Come Home
  • 原文地址:https://www.cnblogs.com/jshchg/p/1908287.html
Copyright © 2011-2022 走看看