Hmm, dann kommt der Fehler bei dem If-Statement.
Hast du per Debugger schonmal überprüft, ob Image wirklich <> nil ist?
Ach mist. Man sollte halt doch nicht aus dem Kopf schreiben. So müsste es jetzt funktionieren.
Delphi-Quellcode:
procedure SaveImages;
var
Ini: TIniFile;
I: Integer;
Image: TImage;
begin
Ini := TIniFile.Create('<Pfad, wo gespeichert werden soll>');
try
for I := 0 to 29 do // Das sind 30 Images
begin
Image := TImage(FindComponent('Image' + IntToStr(I))); // <<
Ini.WriteInteger('Image' + IntToStr(I), 'Left', Image.Left);
Ini.WriteInteger('Image' + IntToStr(I), 'Top', Image.Top);
end;
finally
Ini.Free;
end;
end;
procedure LoadImages;
var
Ini: TIniFile;
I: Integer;
Image: TImage;
begin
Ini := TIniFile.Create('<Pfad, wo gespeichert werden soll>');
try
for I := 0 to 29 do // Das sind 30 Images
begin
Image := TImage(FindComponent('Image' + IntToStr(I))); // <<
Image.Top := Ini.ReadInteger('Image' + IntToStr(I), 'Top', 0);
Image.Left := Ini.ReadInteger('Image' + IntToStr(I), 'Left', 0);
end;
finally
Ini.Free;
end;
end;