Forum: Object-Pascal / Delphi-Language
Delphi
by Benmik,
27. Sep 2020
Ich hatte gerade vor kurzer Zeit etwas über Verdecken und Überschreiben gelesen, und es war mir nicht so richtig klar geworden, warum Verdecken jetzt soooo schlimm ist. Die Praxis ist halt der beste Lehrmeister. Insbesondere die Tatsache, dass ich diese Problematik nie an dieser Stelle vermutet hätte. Dabei kannte ich den Emba-Code und hatte bei SO gelesen, warum man den Umweg über eine...
Forum: Object-Pascal / Delphi-Language
Delphi
by Benmik,
27. Sep 2020
OK, folgende Änderungen:
procedure Clear;
destructor Destroy; override;
constructor Create;
destructor TEXIF.Destroy;
begin
FreeAndNil(FDStream);
inherited;
end;
Forum: Object-Pascal / Delphi-Language
Delphi
by Benmik,
27. Sep 2020
TObject.Free kann nicht überschrieben werden, da es keine virtuelle Methode ist. Auch füge ich natürlich ein "inherited" an. Das alles erklärt aber nicht, warum meine Methode bei Free aufgerufen wird, bei FreeAndNil aber nicht. FreeAndNil ist doch überhaupt nichts anderes als ein Free mit nachfolgendem := nil .
Und warum Destroy??