Entschuldige das ist Quatsch.
Wieso eine extra Procedure die nichts anderes macht als ein Destructor?
Eine Klasse die sich selber in einer Procedure/Function zerstört verletzt ja wohl alle
OOP Regeln
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.
Ich wüsste jetzt nicht, warum eine Prozedur "TueDiesUndFree" irgendeine Regel der
OOP verletzen sollte...
Wieder etwas dazugelernt, danke euch
Achte nur auf das "inherited" in deinem Destruktor und dass du Destroy statt Free überschreibst.
Ganz einfach
Deine klasse kann man nicht benutzen wie jede andere
normalerweise erwartet man nicht das eine Procedure die Klasse freigibt.
immer
1.create
2.arbeiten
3.freigeben
Delphi-Quellcode:
T := TIrgendwas.create;
try
t.tuewas;
t.UpdateFileAndFree; // Du gibts die klasse frei
t.tuewasanders; // Knallt
finally
t.free;
end;
Wenn Du das verhalten änderst ist das einfach falsch.
Wenn schon überschreibe den destructor.