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.
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!