我子类继承了父类,但是子类有一个数据集AdoDataSet1是父类没有的,(因为需要)
现在我想在父类里面写事件,但是要用到子类的AdoDataSet1
起初我在父类中是这样写的比如,(FindCompoment('AdoDataSet1') as TAdoDataSet).FieldByName().AsInteger=0; 我以为这样调用子类窗体是会自动找到AdoDataSet1这个数据集去执行,但是事实上却没有执行,是不是因为本身父类就没有AdoDataSet1这个数据集
请问要用什么办法呢?难不成要到子类一个个写重复的代码吗?
谢谢

解决方案 »

  1.   

    父类写个虚方法,在子类中Override,在子类中的方法用adodataset
      

  2.   

    现在问题是,我写个虚方法procedure copyData(adoDataSet1:TDataSet);virtual;
    在子类中写道;procedure copyData(adoDataSet1:TDataSet);override;
    但是在父类中调用是这样吗:CopyData(nil);参数不确定,好像不行叶
      

  3.   

    没人
    郁闷ing
    学习ing
    可惜我没分了
      

  4.   

    在父类写个虚方法procedure copyData(adoDataSet1:TDataSet);virtual;
    在子类中写;procedure copyData(adoDataSet1:TDataSet);override;
    在父类中调用:CopyData(FADODataSet) <- ADODataSet 是在子类中定义的TADODataSet
      

  5.   

    不好意思,没仔细看,改一下:在父类写个虚方法procedure copyData(adoDataSet:TDataSet);virtual;
    在方法内使用adoDataSet对象
    在子类中写;procedure copyData(adoDataSet:TDataSet);override;
    在父类中调用:CopyData(adoDataSet1)
      

  6.   

    父类中没有adodataset1啊,只有子类才有,我现在身边没有d不好调试
    父类调用的参数随便吧???