var
   Query:TADOQuery;
begin
   Query:=TADOQuery.Create(self);
_____________
[Error]:Undeclared identifier:'self'是什么意思? 怎么会没 self呢?
哪能位大哥能否说明一下....

解决方案 »

  1.   

    对比以下两种写法:
    procedure test();
    var
       Query:TADOQuery;
    begin
       Query:=TADOQuery.Create(self);
    end;procedure TForm1.FormCreate(Sender: TObject);
    var
       Query:TADOQuery;
    begin
       Query:=TADOQuery.Create(self);
    end;
      

  2.   

    self指当前对象   要看self所在的环境
      

  3.   

    procedure test();
    var
       Query:TADOQuery;
    begin
       Query:=TADOQuery.Create(self);
    end;我就这样写的才出错了,procedure TForm1.FormCreate(Sender: TObject);
    var
       Query:TADOQuery;
    begin
       Query:=TADOQuery.Create(self);
    end;
    这么写就没错.
    ______________________
    是不是在自定义的过程中不能这么写?
      

  4.   

    你可以这样写
    procedure test(aOwner:TComponent);
    var
       Query:TADOQuery;
    begin
       Query:=TADOQuery.Create(aOwner);
    end;调用test(self);