动态过程写法
我在程序中掉用自己写好的过程,一般都是 表名.过程名();
就可以了,现在我想把过程放在字符变量中,那怎样通过这个变量去执行相应的过程呢
var pro:string;begin pro:='mess'; self.pro//等同执行了 self.mess; end;
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); procedure proc; private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}{ TForm1 }type TExecute = procedure of object;procedure TForm1.proc;begin showmessage('aaa');end;procedure TForm1.Button1Click(Sender: TObject);var Routine: TMethod; Execute: TExecute;begin Routine.Data:= Pointer(sender); Routine.Code:= self.MethodAddress('proc'); if Routine.Code = nil then Exit; Execute := TExecute(Routine); Execute;end;end.