![]() |
ListBox Delete Item
Hallo, ganz komische Sache... :gruebel:
ganze einfache Listbox mit 3 Elemente und will alle die Selected sind rauslöschen. Die Prozedur funktioniert auch, aber ich bekomme immer (auch außerhalb der IDE) die Errormeldung: "Listenindex überschreitet das Maximum 2" (EListError)
Delphi-Quellcode:
Gruß
var i:integer;
begin for i:=1 to 3 do begin if Listbox1.Selected[i-1] = true then ListBox1.Items.Delete(i-1); end; end; |
Re: ListBox Delete Item
ListBox.DeleteSelected;
roga |
Re: ListBox Delete Item
Und wenn schon in einer Schleife diese umgekehrt laufen lassen
|
Re: ListBox Delete Item
Zitat:
Deine Schleife wird dreimal durchlaufen (1 bis 3) und dabei löschst Du jeweils den Eintrag mit dem Index aktuelle Zahl-1. Wenn nun z. B. der erste Eintrag selektiert ist wird dieser gelöscht. Nun hat deine ListBox nur noch zwei Einträge. Beim dritten Durchlauf deiner Schleife wird aber versucht auf einen, nicht mehr vorhandenen, Eintrag zu zugreifen. Und dann knallt es natürlich. Wenn Du die Schleife rückwärst laufen lässt kann Dir das nicht passieren. |
Re: ListBox Delete Item
ja danke für eure Posts.
Gestern Nacht wars einfach zu lang und mein Kopf blockiert :? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 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