delphi 根据字符串找到函数并执行


本文整理自网络,侵删。

 

关键字:MethodAddress:取得方法的地址,这个方法需要是published的。


unit Unit1;


interface


uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;


type


  TShowInfo = procedure(info:string) of object;    //声明一个procedure类型,参数和ShowInfo一致


  TForm1 = class(TForm)

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }


  published

    procedure ShowInfo(info:string);

  end;


var

  Form1: TForm1;


implementation


{$R *.dfm}


{ TForm1 }


procedure TForm1.ShowInfo(info: string);

begin

  ShowMessage(info);

end;


procedure TForm1.Button1Click(Sender: TObject);

var

  s:TShowInfo;

begin

  @s := MethodAddress('ShowInfo');       //取得ShowInfo的地址

  if @s <> nil then                      //如果不为空

  begin

    s('中华人民共和国');                 //执行

  end;

end;


end.

相关阅读 >>

Delphi xe 启动关闭start page 页错误提示

Delphi 获取系统内存状态

Delphi如何粘贴html格式文本到windows剪切板

Delphi 创建dll文件 及其调用和注意事项

Delphi trestclient + trestrequest + trestresponse

winapi 字符及字符串函数(7): ischarlower - 是否是个小写字母

Delphi 用stringhelper.split分解字符串

Delphi 泛型容器单元(generics.collections) tdictionary<t>

Delphi 复制拷贝文件目录函数

Delphi压缩库 zlibex 介绍

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...