Einzelnen Beitrag anzeigen

Rob09

Registriert seit: 14. Aug 2007
58 Beiträge
 
Delphi 6 Personal
 
#1

Nochmal aufgegriffen: Objekte freigeben notwendig?

  Alt 19. Jan 2011, 15:02
Delphi-Version: 5
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
  Mit Zitat antworten Zitat