Moin Char,
der eigentliche destructor heisst i.d.R. Destroy.
Free führt noch Prüfungen durch, bevor es dann Destroy aufruft.
Die eigentliche Freigabe findet also in Destroy statt, das von Free aufgerufen wird.
Nennen kannst Du den natürlich wie Du willst, aber Free ist von seinem Sinn her vorbelegt, so dass es zumindest ungeschickt wäre den destructor so zu nennen. Zudem ist es Konvention einen destructor Destroy zu nennen (genauso wie der constructor üblicher Weise Create heisst.)
inherited heisst, dass die Methode gleichen Namens von der Basisklasse Deiner Klasse an dieser Stelle aufgerufen wird.
Gibst Du hier noch einen Namen mit (z.B. inherited MethodenName) so wird die Methode "MethodenName" der Basisklasse aufgerufen.
Ggf. sind dann noch Parameter zu übergeben.
Stimmt Deine Deklaration mit der der Basisklasse überein kannst Du den Namen und die Parameter weglassen, da diese automatisch übernommen werden.
BTW:
Ich hab' hier auch Blödsinn geschrieben:
"Das inherited ist zwar bei Ableitung von TObject nicht zwingend erforderlich, da es hier nichts zu erben gibt, "
Man ruft ja den Destructor von TObject auf, und das sollte auch so sein.
Jetzt musst Du nur noch darauf achten, an welcher Stelle das inherited gesetzt wird.
Bei einem constructor sollte inherited als erstes aufgerufen werden, da es ja sinnvoll ist alles was von vorherigen Klassen stammt zu initialisieren, bevor man seine eigenen Ergänzungen initialisiert.
Aus dem gleichen Grunde gehört inherited beim Destructor ans Ende. Erst einmal die eigenen Sachen aufräumen, dann dass was aus vorhergehenden Klassen stammt.
Bei anderen Methoden die man überschreibt hängt es vom Zusammenhang ab, an welcher Stelle man das inherited einfügt. Meistens wohl als erstes, im Extremfall vielleicht auch gar nicht.
Zitat von
Char:
Wenn das Programm beendet wird, werden dann alle Objekte automatisch destroyed oder freed oder muss ich den destructor von meiner Klasse selbst aufrufen? Ich gehe von letzterem aus.
Windows sollte zwar in der Regel alles abräumen, was ein Prozess so an Resourcen belegt hat, aber es ist allemal sauberer dieses immer selber zu machen.