EStringListError
-
Hallo,
bin dabei mit diesem Code eine datei zu speichern und laden, jetzt bringt er diesen fehler

speichern:
TStringList *list = new TStringList(); list->Add(Form2->ComboBox1->ItemIndex); list->Add(Edit1->Text); list->Add(Edit2->Text); . . . list->SaveToFile("c:\\text.txt"); delete list;das klappt, wenn ich die datei so laden möchte..
TStringList *list = new TStringList(); list->LoadFromFile("c:\\text.txt"); Form2->ComboBox1->ItemIndex= StrToInt(list->Strings[0]); Edit1->Text=list->Strings[1]; Edit2->Text=list->Strings[2]; . . . delete list;hier bringt er diesen fehler: Listenindex überschreitet das Maximum(145)
muss ich jetzt was anderes benutzen als TStringList oder kann ich das maximum vom listenindex ändern?
Ich danke und wünsche ein schönen Vatertag

-
Der Fehler steckt wohl woanders. Dort wo du versuchst den 145. String aus der StringList auszulesen.
-
wenn ich nur bis zu diesem String lese gehts,
Memo1->Lines->Add(list->Strings[144]);wenn ich den hier noch mit dran hänge, gehts nicht da bringt er den fehler
Memo1->Lines->Add(list->Strings[144]);
Memo1->Lines->Add(list->Strings[145]);ich hab in der hilfe was von TStringList::Capacity gefunden, hab das so versucht
TStringList *list = new TStringList(); list->Capacity = 300; list->LoadFromFile("c:\\text.txt");scheint wohl nicht richtig zu sein

-
Die maximale Größe von TStringList ist nur durch den Arbeitsspeicher deines Rechners beschränkt.
Da ich mal davon ausgehe das das Problem nicht an zu wenig RAM liegt, behaupte ich mal, das nicht das gespeichert wird, was du möchtest.
Lass dir nach dem laden mal mit list->count die Größe anzeigen.
-
Memo1->Lines->Add(list->Strings[144]);
Memo1->Lines->Add(list->Strings[145]);Mal abgesehen davon machst du dir da doppelte Mühe.
Schau mal von welchem Typ Memo->Lines ist.
-
ja der fehler lag in der speicherung, die datei war kleiner als die, die er auslesen sollte

BIGTHX