在delphi中的类的继承方面,一些子类并没有继承父类的一些很有用的属性和方法,问一下各位高手有没有办法调用出这些父类的属性和方法?

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Grids, DBGrids;
    type
      Tmygrid=Class(TDBGrid)
      public
        property row;
        property col;
      end;
    type
      TForm1 = class(TForm)
        Button1: TButton;
        DBGrid1: TDBGrid;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }  end;
    var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
      showmessage(Inttostr(Tmygrid(DBGrid1).row));
    end;
    end.
      

  2.   

    比如TCustomDBGrid.GetEditText这个方法,TDBGrid.GetEditText就是出错,提示GetEditText未定义,而TDBGrid不是从TCustomDBGrid继承过来的吗?
      

  3.   

    我想在程序中用TCustomDBGrid,可是在可视化组件面板上并没有它,我在程序中直接声明TForm1 = class(TForm)
        CustomDBGrid1:TCustomDBGrid;
    但是
    procedure TForm1.Button1Click(Sender: TObject);
    var
    i,j:integer;
    sum:double;
    begin
    CustomDBGrid1:=TCustomDBGrid.Create(Form1);
    CustomDBGrid1.DataSource:=datasource1;
    j:=query1.RecordCount;
    sum:=0;
    for i:=2 to query1.RecordCount do
    begin
    sum:=sum+strtofloat(CustomDBGrid1.GetEditText(i,4));
    i:=i+1;
    end;
    edit1.text:=floattostr(sum);
    end;
    程序运行到CustomDBGrid1.GetEditText(i,4)出错,提示
    Undecared identifier:'GetEditText'
    其中datasource1.dataset:=query1,各位大哥看看究竟出了什么错?