Witam
Poniższy przypadek z mojego punktu widzenia jest poprawny, ale kompilator ma podstawy ostrzegać i stąd pytanie jak sobie z tym poradzić.
var
Ini: TIniFile;
Plik: string;
i: Integer;
StaryProfil: Boolean;
begin
Plik := ExtractFilePath(Application.ExeName) + 'abc.ini';
StaryProfil := FileExists(Plik);
if StaryProfil then Ini := TIniFile.Create(Plik);
//....
for i := 0 to 100 do
begin
//...
if StaryProfil {lub Assigned(Ini)} then Ini.WriteString(...); // <--------- Ini nie została zainicjowana
//...
end;
if StaryProfil then Ini.Free;
end;
Można jakoś to obejść, ale po co w pętli mam wywoływać 100x Ini := TIniFileCreate(Plik);
?
Przecież zmienna "StaryProfil" nie jest modyfikowana.