Zitat:
1. Ging es bei der Aussage nur um den Stil
Stil ist subjektiv, ich finde den Stil von Iwo Asnet besser.
Zitat:
2. Gibst du zwar jedes Objekt frei, dies allerdings indexbasiert. Löscht aber nicht im gleichen Zug den Index dazu aus der Liste. Dadurch sorgst du bewusst dafür, dass die Liste nicht mehr synchron, mit Elementen und darin enthalten Objekten, ist
Das ist auch nicht notwendig und solche Zustände sind im Programmablauf nur schwer zu vermeiden.
Das selbe Problem zwischen diesen beiden Zeilen in deinem Code:
Delphi-Quellcode:
if Assigned(aObj) then FreeAndNil(aObj);
Liste.Delete(0); //auch Listeneintrag löschen
Am Ende der Methode ist ein definierter Zustand erreicht, das ist wichtig.
Zitat:
3. Das Clear, das im Destruktor von TList aufgerufen wird, ist kein Freifahrtsschein dafür, sich nicht vernünftig um die Elemente der Liste, gerade beim Freigeben, zu kümmern
Hat niemand behauptet.
Zitat:
4. Wird das schon in der Vorlesung "Grundlagen der Informatik" gelehrt und ist in der Informatik allgemeingültig
Was meinst du mit "das"?
Wer so was lehrt, hat Schläge verdient:
if Assigned(aObj) then FreeAndNil(aObj);