with TDataSource.Create(self) do
begin
  DataSet := TADOQuery.Create(self);
  DBGrid.DataSource := self;  //为什么这里报错, 那应该如何写呢 ?
end;
我不想定义一个DataSource的变量, 所以用self代替, 但编译通不过.
那用什么可以代替TDataSource.Create(self)产生的对象呢 ?

解决方案 »

  1.   

    self 改成 nil
     DBGrid.DataSource := self---〉 DBGrid.DataSource := dataset
      

  2.   

    To: lhfeng(荣荣)
    怎么可以把DataSet赋给DBGrid.DataSource ?
      

  3.   

    这样要定义多一个变量,这又有什么问题,真是的什么地方的Self都是默认为本类的,当然不OK的还要记得Free呢AA:=TDataSource.Create(self);
    然后...http://lysoft.7u7.net
      

  4.   

    楼主太小气了,多家个变量不就ok了
    BB:=TDataSource.Create(self);
    ....
    DBGrid.DataSource := BB;