Das Problem wird nur sein, dass du dann nicht mehr den ursprünglichen Fehler mittels
Exception-Handling abfangen kannst, weil du dann im
finally
-Abschnitt eine
Access-Violation bekommst.
Probier es aus, so gibt es eben
kein Problem und die Exceptions funktionieren wunderbar.
BTW: Du weißt, dass die Methode
Free
auf
nil
prüft bevor diese den Destructor aufruft? Also davon kann es keine
AV geben.
Auch geht das so nur bei objekten, die nicht voneinander abhängig sind.
Dann muss man eigentlich nur auf die Reihenfolge bei der Freigabe achten (oder darf gar nicht freigeben, wenn man das Lifetime-Management delegiert habe)