Delphi-Quellcode:
iniFile := nil;
try
iniFile := TIniFile.Create(FIniFile);
// ReadBool, ReadString, etc.
finally
if iniFile <> nil then
iniFile.Free;
end;
Eigentlich macht man das (wie bei anderen Objekten) so:
Delphi-Quellcode:
iniFile := TIniFile.Create(FIniFile);
try
// ReadBool, ReadString, etc.
finally
iniFile.Free;
end;
oder ggf. im finally auch FreeAndNil statt .Free, aber darüber lässt sich streiten.
Die if-Abfrage auf <> nil ist unnötig, da .Free das bereits selbst macht. Und wenn man die Zuweisung von iniFile vor das try setzt, kann man in Finally sowieso davon ausgehen, dass es assigned ist, denn eine evtl.
Exception im Construtor würde ja das try..finally komplett überspringen.