Forum: Object-Pascal / Delphi-Language
Delphi
by Bummi,
26. Nov 2010
Alle Klassen die von TComponent abgeleitet sind benötigen einen Owner, also jemanden der sie auch wieder freigibt.
Du kannst hier nil übergeben, mußt dann aber die Komonente selbst wieder freigeben.
Alle Klassen die von TControl abgeleitet sind benötigen einen Parent da sie irgendwo "gemalt werden müssen".
Wenn Dich die Herkunft einer einer Klasse interessiert kannst Du Dich per Klick auf...
Forum: Object-Pascal / Delphi-Language
Delphi
by Bummi,
26. Nov 2010
jetzt habe ich einen Hänger...
was genau meinst Du?
Forum: Object-Pascal / Delphi-Language
Delphi
by Bummi,
26. Nov 2010
Du kannst den Konstruktor wie jede Prozedur auch Überladen
TMyClass=Class(TButton)
Constructor Create(Aowner:TComponent;AParent:TWinControl);overload;
End;
//____________
constructor TMyClass.Create(Aowner: TComponent; AParent: TWinControl);
begin
inherited Create(AOwner);
Forum: Object-Pascal / Delphi-Language
Delphi
by Bummi,
26. Nov 2010
Du hattest ihn doch schon drin ??
procedure AdsOpen();
procedure AdsClose();
public
{ Public-Deklarationen }
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
Forum: Object-Pascal / Delphi-Language
Delphi
by Bummi,
25. Nov 2010
constructor TMyClass.Create(AOwner: TComponent);
begin
inherited;
if AOwner is TWincontrol then Parent := TWincontrol(AOwner);
//...
end;
constructor TMyClass.CreateWithParent(AOwner: TComponent; AParent: TWinControl);
begin
inherited Create(AOwner);
Forum: Object-Pascal / Delphi-Language
Delphi
by Bummi,
25. Nov 2010
Den Parent als Parameter mitgeben meinte ich wenn der Owner ein Wincontrol ist kannst Du auch parent=Owner setzen.
Forum: Object-Pascal / Delphi-Language
Delphi
by Bummi,
25. Nov 2010
Gib mal dem Constructor versuchsweise den Parent mit, vielleicht passiert dort schon zuviel (etwas was einen Parent erfordert)....