Außerdem würde ich den geerbten Destruktor doch am Ende deines Destruktor mittels inherited
aufrufen, nicht am Anfang?
Das kommt drauf an, wes man erreichen will.
Soll der Code vor den Freigaben der Elternklassen sein, oder danach.
Aber im Allgemeinen macht es sich gut, wenn das inerited im Create am Anfang und beim Destroy am Ende steht, da man im Code ja oftmals funktionen nutzen will, welche da schon/noch vom Vorfahren vorhanden sein sollten.
Man kann es auch mitten drin aufrufen.
Delphi-Quellcode:
WriteLn('destroying');
...
inherited;
...
WriteLn('destroyed');
Eventuell kann man auch AfterConstruction und BeforeDestruction verwenden.