Einzelnen Beitrag anzeigen

IngoD7

Registriert seit: 17. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Free gibt die Klasse nicht frei

  Alt 21. Feb 2007, 11:45
Zitat von Konse:
Bei Abstrakten klassen, die auch datencontainer enthalten können, setzt du dort deinen Destruktor virtuell??
[...]
ich überschreibe da den destruktor von Tobject mit override
-> mein nachfahre hat sich darum zu kümmern im destructor inherited aufzurufen.
Das gilt doch für alle Nachfahren, also für TMyAbstrClass und für TMyNachfahre.
Übrigens: Ein Destructor mit override ist selbst auch wieder virtuell.

Zitat von Konse:
wenn jedoch die free methode von TObject (superclass) aufgerufen wird, so wird maximal nur die abstrakte klasse
freigegeben wenn man die free methode nicht im nachfahren nochmals redeklariert.
Nein, wenn MyInstanz von TMyNachfahre (MyInstanz:=TMyNachfahre.Create) ist, dann ruft ein MyInstanz.Free den Destructor von TMyNachfahre auf.
  Mit Zitat antworten Zitat