比如adoquery有个方法叫post,我现在想把post作为一个变量传给adoquery1,应该怎么做,这有点象VFP里的宏定义

解决方案 »

  1.   

    这不就是函数指针么?就象Delphi里的“事件”,都是函数指针。
      

  2.   

    先定义一个指针变量,再把这个post方法的地址(用@运算符取得地址)赋给这个指针变量,后面我就不必说了吧?
      

  3.   

    代码如下:
    比如Post方法定义为:
    procedure Txxx.post(const Astr: string);那么定义一个方法指针:
    Tdo = procedure (const AStr: string);var
      d: Tdo;
      s: string;
    begin
      d := Txxx.post;
      d(s);
    end;
      

  4.   

    其实我的需求是这样的:
    我的表里有一个字段中有一段值,比如是dbchart1.print,我从表中取出这段值赋给变量A,现在我想用A来执行对dbchart1的打印,该怎么做?