SzjGridClass :=TSzjGrid1.Create;
SzjGridClass.m_sign ...

解决方案 »

  1.   

    这样不可以的,老是说少参数
    SzjGridClass :=TSzjGrid1.Create(.....)//这里
      

  2.   

    如果 SzjGridClass :=TSzjGrid1.Create(Component)
      or SzjGridClass :=TSzjGrid1.Create(SzjGridClass)
    又说没有父窗体,你们是怎么解决的?????
      

  3.   

    重载create和destroy:
    type
      TSzjComptEditor = class(TComponentEditor)
      private
        SzjGridClass :TSzjGrid1;
      public
        constructor create(AOwner:TComponent):override;
        destructor destroy:override;
       
      .........implementation
    constructor TSzjComptEditor.Create(AOwner:TComponent);
    begin
      inherited Create(AOwner);
      SzjGridClass:=TSzjGrid1.create;
    end;destructor  TSzjComptEditor.destroy;
    begin
      SzjGridClass.free;
      inherited destroy;
    end;
      

  4.   

    SzjGridClass:=TSzjGrid1.create;
    改为  SzjGridClass:=TSzjGrid1.create(self);
      

  5.   

    小弟这样constructor create(AOwner:TComponent):override;
    做过,可是编译不通过,要去掉 override 才可以? why?
      

  6.   

    因为TComponentEditor的单位是这样
    create(AOwner: TComponent;ADesigner: IDesigner);
    所以在。。
    constructor TSzjComptEditor.Create(AOwner:TComponent;ADesigner: IDesigner);
    begin
      inherited Create(AOwner,IDesigner);
      SzjGridClass:=TSzjGrid1.create(AOwner);
    end;
    这样的话说是没有父窗体