![]() |
StringList fasst zu wenig Einträge!?
Hallo,
ab einer bestimmten Anzahl von Einträgen will die StringList irgendwie nicht mehr. Habe hier z.B. eine in die 30.000 Einträge rein soll, es kommer dann aber "Listenindex überschreitet das Maximum (22306). Wenn ich sagen wir z.b. nur 2000 Einträge reinmachen möchte, geht es Problemlos, aber ab einer gewissen Anzahl eben der Fehler. Was kann ich alternativ benutzen? |
Re: StringList fasst zu wenig Einträge!?
Ein tStringlist-Objekt kann 2.147.483.647 Zeilen, jedenfalls noch bei Delphi 5 und ich glaube nicht, daß es weniger geworden ist. Mit welcher Delphi-Version arbeitest Du?
Es macht den Eindruck, als ob Du auf einen Index zugreifen willst, der größer als die Anzahl der Zeilen in der Stringlist ist. Bsp.:
Delphi-Quellcode:
Wie fügst Du die Zeilen ein?
procedure LassKnallen;
var sl:tStringlist; begin sl:=tStringlist.Create; sl.Add('Das ist Zeile1 und erreichbar mit sl[0]'); sl.Add('Das ist Zeile2 und erreichbar mit sl[1]'); sl.Add('Das ist Zeile3 und erreichbar mit sl[2]'); sl.Add('Das ist Zeile4 und erreichbar mit sl[3]'); try showmessage(sl[8]); except on e:exception do begin showmessage('Du wolltest den 9. Eintrag, obwohl nur '+inttostr(sl.Count)+' Einträge drin sind. '+#13#10+ 'Hier Deine Fehlermeldung: '+#13#10+e.Message); end; end; sl.free; end; Wie löscht Du Zeilen raus? Wie greifst Du auf die Zeilen zu? |
Re: StringList fasst zu wenig Einträge!?
Moin Duser,
also 30000 Einträge sind für eine StringListe überhaupt kein Problem. Die Fehlermeldung deutet darauf hin, dass Du einen Index ansprichst, der grösser ist, als die Anzahl der enthaltenen Zeilen. Ich vermute mal, dass Du nicht berücksichtigt hast, dass die Indizes bei 0 beginnen, und bis Count-1 gehen. |
Re: StringList fasst zu wenig Einträge!?
Jetzt kommt mir um die Uhrzeit noch tatsächlich einer zuvor. :zwinker: Sogar zwei. :shock:
Zitat:
|
Re: StringList fasst zu wenig Einträge!?
jo, Chistian hat Recht, hört sich nach dem klassischen
Delphi-Quellcode:
an. Aber es muß
for i:= 0 to sl.count do begin
end;
Delphi-Quellcode:
heissen.
for i:= 0 to sl.count-1 do begin
end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz