大航海 發表於 2017-9-3 16:21:42

Delphi 根据字符串找到函数并执行的实例

<p><strong>Delphi 根据字符串找到函数并执行的实例</strong></p>
<p><strong>&nbsp;关键字</strong>:MethodAddress:取得方法的地址,这个方法需要是published的。</p>
<p>实例代码:</p>
<div class="jb51code">
<pre class="brush:delphi;">
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 &lt;&gt; nil then         //如果不为空
begin
s('中华人民共和国');         //执行
end;
end;

end.
</pre>
</div>
<p>如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!</p>
                           
                            <div class="art_xg">
                              <b>您可能感兴趣的文章:</b><ul><li>Delphi 用DLL实现插件的简单实例</li><li>Delphi 中内存映射对于大文件的使用</li><li>Delphi提取PDF文本实例</li><li>Delphi XE5 为Android应用制作签名的方法(图文)</li><li>ListView 百分比进度条(delphi版)</li><li>Delphi实现截屏存盘的方法</li><li>Delphi实现窗体感知鼠标滑过并自动隐藏与显示窗口的方法</li><li>Delphi 实现软件自动升级的功能</li></ul>
                            </div>

                        </div>
                        <!--endmain-->
頁: [1]
查看完整版本: Delphi 根据字符串找到函数并执行的实例