比如這種行代碼中的inherited;
英語意思好像是繼承吧
delphi裏具體起什麽作用啊,可不可以去掉這行
procedure TFrm_office.FormCreate(Sender: TObject);
begin
  inherited;end;

解决方案 »

  1.   

    最好不要去掉,它调用了父类的方法,如果去掉了可能会发生某些 错误,不过你可以试试,在delphi的帮助里去看看吧;
      

  2.   

    就楼主贴出来的代码
    procedure TFrm_office.FormCreate(Sender: TObject);
    begin
      inherited;end;
    如果去掉了inherited语句,那就不会去执行父类form的 OnCreate 事件中的代码了
    如果保留 inherited 语句,则会先执行父类form的 OnCreate 事件中的代码,然后会去执行你写在inherited语句后面的代码....
      

  3.   

    好像现在创建类的时候,可以在子类不加inherited create; 而会直接调用父类的构造,因为delphi会默认的啊
      

  4.   

    在Delphi6中,需要加,不然就运行的时候出错了
      

  5.   

    对 smiler007(笑一笑) 的一点点补充
    inherited一般用在override一个父类的方法
    但是又不仅仅局限在这种用法,在任何地方你都可以使用
    inherited,其实说白了就是继承一个父类的同名的方法
    (注意:同名)
      

  6.   

    继承,有了它,就要执行该对象父类里的过程和方法,
    比如在d5开发指南里就写了一个窗体的过程,没调用inherited 的话,根本窗体不画出来,
    因为绘窗体的过程在它父类里的
      

  7.   

    inherited 后面指定过程名,则是执行父类中的过程
    不指定则执行父类中与本过程同名的过程
      

  8.   

    可以在任何地方使用,如果不跟具体的过程名,表示是一个override的方法,在该方法里调用父类的同名方法,后面跟具体过程名,表示直接调用父类的该方法。