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.