Delphi 根据字符串找到函数并执行的实例
Delphi根据字符串找到函数并执行的实例
关键字:MethodAddress:取得方法的地址,这个方法需要是published的。
实例代码:
unitUnit1;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls;
type
TShowInfo=procedure(info:string)ofobject;//声明一个procedure类型,参数和ShowInfo一致
TForm1=class(TForm)
Button1:TButton;
procedureButton1Click(Sender:TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
published
procedureShowInfo(info:string);
end;
var
Form1:TForm1;
implementation
{$R*.dfm}
{TForm1}
procedureTForm1.ShowInfo(info:string);
begin
ShowMessage(info);
end;
procedureTForm1.Button1Click(Sender:TObject);
var
s:TShowInfo;
begin
@s:=MethodAddress('ShowInfo');//取得ShowInfo的地址
if@s<>nilthen//如果不为空
begin
s('中华人民共和国');//执行
end;
end;
end.
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!