Hallo,
So hat es bei mir noch nie Probleme gegeben:
Delphi-Quellcode:
iniFile := TIniFile.Create(FIniFile);
try
// ReadBool, ReadString, etc.
finally
iniFile.Free;
end;
Meine Frage an der Stelle: wie kann es sein, dass eine Klasse von TObject erbt, aber dessen Konstruktor nicht aufruft? Ich erwarte eigentlich ein
inherited Create. Zudem frage ich mich dann noch, wie es sein kann, dass im Destruktor dann ein
inherited Destroy aufgerufen wird, was meiner Meinung nach den Destruktor desjenigen
TObjects ausführt, das ja offenbar niemals erzeugt wurde.
Das passt so. Der Constructor von TObject ist eh leer. Bzw. Compilermagic.
Der Constructor dient dazu lokale Variablen zu initialisieren. TObject hat da wohl nichts.
Natürlich ist es unsauber den Aufruf nicht zu schreiben, oder zumindest ein
inherited;
Besonders wenn man langfristig denkt und sich das Verhalten für TObject auch mal ändern könnte.