Ich habe jetzt auch einmal ein kleines Beispiel erstellt und hochgeladen.
Die entscheidende Stelle ist hier:
Delphi-Quellcode:
procedure TForm1.restoreLayout;
var
ini: TIniFile;
n: Integer;
numberOfSheets: Integer;
begin
ini := TIniFile.Create(extractfilepath(paramstr(0)) + 'Layout.ini');
numberOfSheets := ini.ReadInteger('Common', 'NumberOfSheets',
PageControl1.PageCount);
for n := 1 to numberOfSheets - 2 do//zwei Feste Tabs
begin
createSheet;
end;
for n := 0 to PageControl1.PageCount do
PageControl1.Pages[n].PageIndex:=ini.ReadInteger('Order', 'PageControl' + PageControl1.Pages[n].Name,
PageControl1.Pages[n].PageIndex);
ini.Free;
end;
Dabei bekomme ich allerdings eine Listenindex überschreitet das Maximum Meldung
Vergesst es. Ist zu früh. Der Index muss natürlich bis PageCount-1 laufen und dann funktioniert es auch wie erwartet. Ich habe ursprünglich immer den Fehler gemacht und bin nicht über den Namen des Sheets gegangen sondern über Pages[n]. Das ist natürlich schwierig. Der Namen ist ja dafür da ein Element eindeutig zu kennzeichnen. Ich hoffe im Anhang ist jetzt die funktionierende Version