那么就必须是TComponent了。向你这样做,TObject支持的函数不够用的。

解决方案 »

  1.   

    将你的Face、Interval放到private里声明
      

  2.   

    组件的CREATE()参数必须要有,指定OWNER!完成组件层次结构的建立!!
      

  3.   

    taber(李沉舟):请你给个override Create的较为完整的例子吧!
    另外
        face:string;
        interval:integer;
    都是要被调用到的属性,不应该private吧?(是不是要放在Public中?)
      

  4.   

    这个如何:
    type
      TMyobj = class(Tcomponent)
      public
        face:string;
        interval:integer;
      end;
    procedure TForm1.FormCreate(Sender: TObject);
    var  OK:TMyobj;
    begin
     ok:=TMyobj.Create(self);
     ok.Name:='ok';
     TMyobj(FindComponent('ok')).face:='myface';
     caption:=FindComponent('ok').ClassName;
    end;
      

  5.   

    TmyClass = Class(TComponent)
      private
        Fface: string;
        Finterval: Integer;
      public
        constructor Create(AOwner: TComponent);
      end;procedure TForm1.Button1Click(Sender: TObject);
    var
      myclass: TMyClass;
    begin
      myClass := TMyClass.Create(self);
      try
        {do something}
      finally
        myclass.Free;
      end;
    end;{ TmyClass }constructor TmyClass.Create(AOwner: TComponent);
    begin
      FFace := 'aa';
      inherited create(AOwner);
    end;