这个如何: 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;
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;
另外
face:string;
interval:integer;
都是要被调用到的属性,不应该private吧?(是不是要放在Public中?)
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;
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;