Wenn du eine Klasse/Objekt global benutzt, dann würde ich vorher mit Assigned prüfen ob die Klasse noch vorhanden ist.
Außerdem würde ich bei globalen Klassen immer ein FreeAndNil ausführen.
Zum Beispiel so...
Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Assigned(INI) then
begin
INI.UpdateFile;
FreeAndNil(INI);
end;
end;