procedure TChangeKeyForm.MIBtnOKClick(Sender: TObject);
begin  inherited;//这个关键字继承了那个父类, 是TChangeKeyForm的东西吗
  if       GetPassword(edtOldKey.Text)<>DM.curAdmin.FPassword then
  begin
    ShowMessage('原密码不正确!');
    exit;
  end

解决方案 »

  1.   

    http://www.csdn.net/expert/topic/615/615225.xml?temp=.1870233
      

  2.   

    你的理解可能有一点不对,inherited关键字不是用来继承一个类,而是一个父类中某些方法的重载。这样的方法具体的是指那些非静态的方法,如:虚方法(virtual),动态方法(dynamic),抽象方法(abstract)。具体的我也说不太清楚,你看看书吧。
      

  3.   

    用来调用父类的函数,直接写Inherited,就是调用父类中与该函数同名的函数unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TMainForm = class(TForm)
        Button1: TButton;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;  TA = class
      public
        procedure a; virtual;
        procedure b; virtual;
      end;  TB = class(TA)
        procedure a; override;
        procedure b; override;
      end;var
      MainForm: TMainForm;implementation{$R *.dfm}procedure TMainForm.FormCreate(Sender: TObject);
    beginend;{ TB }procedure TB.a;
    begin
      inherited;
      ShowMessage('TB.a');
    end;procedure TB.b;
    begin
      inherited a;  //这个要直接写a,效果就不一样了
      ShowMessage('TB.b');
    end;{ TA }procedure TA.a;
    begin
      ShowMessage('TA.a');
    end;procedure TA.b;
    begin
      ShowMessage('TA.b');
    end;procedure TMainForm.Button1Click(Sender: TObject);
    var
      a: TA;
    begin
      a := TB.Create;
      a.b;
      a.Free;  
    end;end.
      

  4.   

    用来调用父类中的buttonClick事件处理函数