Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Listview nimmt "nur" 67224 Einträge? (https://www.delphipraxis.net/79858-listview-nimmt-nur-67224-eintraege.html)

Dash 30. Okt 2006 02:19


Listview nimmt "nur" 67224 Einträge?
 
Hallo,

ich habe gerade ein ziemlich mieses Problem.
Ich habe eine ListView in welcher ich mehr als 67224 Einträge reinklopfen möchte. Allerdings meldet sich dann nach ein paar Minuten der Debugger und sagt mir Listindex überschreitet das maximum (67224).

Gibt es irgendwie eine Möglichkeit das blöde Limit zu umgehen?
Ein Fehler im Code ist eigentlich ausgeschlossen, da der Fehler ja erst so spät kommt.

Hoffe ihr könnt mir helfen :S

Gruß
Dash

mbamler 30. Okt 2006 06:02

Re: Listview nimmt "nur" 67224 Einträge?
 
Versuch es mal mit der LMDListView oder mit der entsprechenden TJvListView Komponente von Jedi
Das könnte helfen
Wenn nicht, wir dir wohl nichts anderes übrig bleiben als deine Daten in einem Array zu halten ...

Gruß
Matthias

marabu 30. Okt 2006 06:04

Re: Listview nimmt "nur" 67224 Einträge?
 
Guten Morgen,

der Fehler steckt wahrscheinlich indirekt in deinem Code. Bei so einer großen Anzahl von Items musst du fast zwangsläufig mit einer virtuellen ListView (OwnerData = True) arbeiten, damit du keine Resourcen-Probleme bekommst. Bei jedem Hinzufügen eines Items wird sonst der Speicherbedarf des Controls einzeln angepasst.

Grüße vom marabu

Gausi 30. Okt 2006 08:41

Re: Listview nimmt "nur" 67224 Einträge?
 
Zitat:

Zitat von Dash
Ich habe eine ListView in welcher ich mehr als 67224 Einträge reinklopfen möchte. Allerdings meldet sich dann nach ein paar Minuten der Debugger und sagt mir Listindex überschreitet das maximum (67224).

67224 erscheint mir eine sehr unübliche Zahl für eine Mengenbeschränkung. Die Fehlermeldung deutet auch eher darauf hin, dass du in deiner Liste 67224 Einträge drin hast, und irgendwo im Quellcode auf das Listenelement mit dem Index 67224 zugreifen willst. Dieses existiert aber nicht, da die Indizierung bei 0 anfängt, und somit die Liste bei Index 67223 endet.

Schau mal, ob du in deinem Code eine Schleife wie
Delphi-Quellcode:
for i := 0 to Liste.Count do ...
drin hast, und ändere das in
Delphi-Quellcode:
for i := 0 to Liste.Count - 1 do ...
ab.

generic 30. Okt 2006 09:16

Re: Listview nimmt "nur" 67224 Einträge?
 
der virtualstringtree (VST) kann mehrere milionen einträgen verwalten.
ich setzte diesen nur noch ein.

http://www.lischke-online.de

Dash 30. Okt 2006 12:01

Re: Listview nimmt "nur" 67224 Einträge?
 
Zitat:

Zitat von Gausi
Zitat:

Zitat von Dash
Ich habe eine ListView in welcher ich mehr als 67224 Einträge reinklopfen möchte. Allerdings meldet sich dann nach ein paar Minuten der Debugger und sagt mir Listindex überschreitet das maximum (67224).

67224 erscheint mir eine sehr unübliche Zahl für eine Mengenbeschränkung. Die Fehlermeldung deutet auch eher darauf hin, dass du in deiner Liste 67224 Einträge drin hast, und irgendwo im Quellcode auf das Listenelement mit dem Index 67224 zugreifen willst. Dieses existiert aber nicht, da die Indizierung bei 0 anfängt, und somit die Liste bei Index 67223 endet.

Schau mal, ob du in deinem Code eine Schleife wie
Delphi-Quellcode:
for i := 0 to Liste.Count do ...
drin hast, und ändere das in
Delphi-Quellcode:
for i := 0 to Liste.Count - 1 do ...
ab.

Stimmt das war es :wink:
Danke an alle die versucht haben zu helfen!

Gruß
Dash


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz