Hi!
Ich würde gerne mal einige Fragezeichen in meinem Kopf endlich ausräumen. Und zwar möchte ich mich insbesondere auf Beitrag #4 in
http://www.delphipraxis.net/71919-ob...notwendig.html und #10 in
http://www.delphipraxis.net/57807-ob...zerstoert.html beziehen. Konkret lauten meine Fragen:
Man stelle sich folgende Situation vor:
Code:
type
TLeerKlasse = class(TObject)
private
FObjektInObjekt: TObject;
end;
implementation
constructor TLeerKlasse.Create;
begin
inherited Create;
FObjektInObjekt := TObject.Create;
end;
Nun schrieb Sir Thornberry (#10):
Zitat:
Wenn du Komponenten frei gibst wo andere Komponenten drauf liegen so werden auch die Childs freigegeben
1. FRAGE:
Verstehe ich es richtig, dass FObjektInObjekt bei mir auf meinem Objekt der Klasse TLeerKlasse liegt und ich deshalb im destructor von TLeerKlasse meine Instanz von FObjektInObjekt nicht freigeben muss, weil dies automatisch geschieht?
2. FRAGE:
Wenn ich nun irgendwo beispielsweise ein Objekt BeispielObjekt vom Typ TComponent erzeuge mit einer Instanz von TLeerKlasse als Owner, dann müsste ja (vgl. selber Beitrag) dieses BeispielObjekt automatisch zerstört werden, wenn ich die Instanz von TLeerKlasse (die ja nur von TObject erbt) zerstöre - richtig? Ich frage mich nur, an welcher Stelle "weiß" denn meine Instanz von TLeerKlasse, dass sie auch BeispielObjekt zerstören soll?
Soweit, so gut. Wäre nett, wenn mich jemand freundlicherweise aufklären könnte...
Viele Grüße!
Robert