Einzelnen Beitrag anzeigen

Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
691 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Zugriffsverletzung beim Zerstören der TIniFile-Instanz

  Alt 26. Jan 2021, 16:19
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.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat