首页 > 代码库 > 根据函数名称---函数指针--调用函数

根据函数名称---函数指针--调用函数

type   TForm1 = class(TForm)     Button1: TButton;     procedure Button1Click(Sender: TObject) ;     procedure CallMeByName(Sender: TObject) ;   private     procedure ExecMethod(OnObject: TObject; MethodName: string) ;   end;var   Form1: TForm1;type   TExec = procedure of object;procedure TForm1.ExecMethod(OnObject: TObject; MethodName: string) ;var   Routine: TMethod;   Exec: TExec;begin   Routine.Data := Pointer(OnObject) ;   Routine.Code := OnObject.MethodAddress(MethodName) ;   if NOT Assigned(Routine.Code) then Exit;   Exec := TExec(Routine) ;   Exec;end;procedure TForm1.CallMeByName(Sender: TObject) ;begin   ShowMessage(Hello Delphi!) ;end;procedure TForm1.Button1Click(Sender: TObject) ;begin   ExecMethod(Form1, CallMeByName) ;end;

技术分享

 

根据函数名称---函数指针--调用函数