Ganz einfach weil eine Prozedur das machen sollte, was ihre Bezeichnung aussagt. Und eine weitere Funktion an den Destruktor zu hängen finde ich unsauber.
Tipp: Schau dir mal BeforeDestruction an, da musst Du weder den Destructor überschreiben noch eine eigene Methode einführen.
Danke!
Das löst aber nicht das Problem (weshalb ich ursprünglich auf die neue Methode kam), dass auf diese Weise etwas mitunter Unerwartetes beim Freigeben des Objektes passiert, das ich auch nicht mehr unterbinden kann.
Die von Uwe Raabe angesprochene Lösung mit
AutoSave := true
, wie sie in Berlin realisiert wurde, scheint mir daher die eleganteste zu sein. Nichts Unerwartetes, keine neuen Methoden.