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

解决方案 »

  1.   

    DBGrid.DataSource := self;
    改为
    DBGrid.DataSource := nil;
      

  2.   

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

  3.   

    To: huyongxiao() 
    怎么可以把DataSet赋给DBGrid.DataSource ?我想把TDataSource.Create(self)产生的对象 赋给 DBGrid.DataSource !
      

  4.   

    var adatasource:Tdatasource;ADataSource.Create(self) ;
    DataSet := TADOQuery.Create(self);
    Adatasource.dataset:=dataset;  DBGrid.DataSource:= ADataSource;  
      

  5.   

    定义多一个变量处理就OK了http://lysoft.7u7.net