本帖最后由 flitooo 于 2010-05-19 13:58:53 编辑

解决方案 »

  1.   

    用函数指针:type
      TxxProc = procedure;procedure Run(Proc: TxxProc);
    begin
      Proc;
    end;begin
      Run(A);
    end;
      

  2.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TA = procedure;
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
        procedure DoA(Foo:TA);
      public
        { Public declarations }
      end;
    var
      Form1: TForm1;implementation{$R *.dfm}procedure A();         
    begin
      ShowMessage('ok');
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      DoA(A);
    end;procedure TForm1.DoA(Foo: TA);
    begin
      Foo;
    end;end.