Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - ShellListView Fehler beim Löschen
Millo - Mo 19.08.02 02:24
Titel: ShellListView Fehler beim Löschen
Moin
Ich bekomme immer den Fehler:"Listenindex überschreitet 63" wenn ich versuche eine oder mehrere Dateien aus der ShellListView zu Löschen ich benutze diesen Code:
Quelltext
1: 2: 3: 4: 5:
| for i:=0 to ShellListView1.Items.Count-1 do begin if ShellListView1.Items.Item[i].Selected then DeleteFile(ShellListView1.Folders[i].PathName); ShellListView1.Refresh; |
toms - Mo 19.08.02 06:38
Hi,
Verwende eine DownTo-Schleife...
Tino - Mo 19.08.02 08:00
Hallo Millo,
ich kenne die tShellListView nicht genau aber wahrscheinlich liegt es daran in welcher Reihenfolge Du die Items löscht.
Stell Dir mal vor Du hast eine StringListe mit 5 Items. Wenn Du so vorgehst wie in dem Code oben dann löscht Du von oben nach unten. Das Problem dabei ist das Du wenn Du das erste Item gelöscht hast alle folgenden Items nach "oben rutschen" und somit das zweite Item nun an der ersten Position der Liste zu finden ist das vorher dritte nur das zweite ist... usw. Wenn Du nun das 4. Item ansprechen willst ist es nicht mehr an der 4 Position zu finden.
Deshalb empfielt es sich immer die Liste von unten nach oben zu durchlaufen!
Gruß
TINO
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!