ds:TDataSource;
a:TAdoQuery;
begin
  ds.DaseSet:=a;
end;a是一个TAdoQuery的实例阿
为什么能对一个TDataSet的实例赋值呢

解决方案 »

  1.   

    你看他们的继承关系就知道了
    TADOQuery是从TCustomADODataSet继承的,而TCustomADODataSet又是从TDataSet继承的,所以能这样赋值
      

  2.   

    所有的数据组件都是从TDataSet类继承的。
      

  3.   

    原来是这样
    想了很多原因
    没想到要从继承上找找关系
    又开拓了一次思路
    谢谢各位
    再多问一句
    为什么不需要显式转型呢???
    难道不应该是
    ds.dataset:=TDataSet(a)????
      

  4.   

    兄弟是不是从java转过来的哦?