Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Eintrag in einer Listbox löschen (https://www.delphipraxis.net/45079-eintrag-einer-listbox-loeschen.html)

smart 29. Apr 2005 09:38


Eintrag in einer Listbox löschen
 
Ich möchte einen selectierten Eintrag in einer ListBox löschen. Ich benutze dafür diesen Code und bekomme aber immer eine Fehlermeldung. Warum?

Delphi-Quellcode:
ListBox1.Items.Delete(ListBox1.ItemIndex);

xaromz 29. Apr 2005 09:41

Re: Eintrag in einer Listbox löschen
 
Hallo,

klassische Frage: Welche Fehlermeldung?

Gruß
xaromz

smart 29. Apr 2005 09:43

Re: Eintrag in einer Listbox löschen
 
Fehlermeldung: Der Index der Liste überschreitet das Maximum (-1)

Orbmu2k 29. Apr 2005 09:44

Re: Eintrag in einer Listbox löschen
 
Warum nicht so ?

Delphi-Quellcode:
  Listbox1.DeleteSelected;

Sharky 29. Apr 2005 09:46

Re: Eintrag in einer Listbox löschen
 
Zitat:

Zitat von smart
Fehlermeldung: Der Index der Liste überschreitet das Maximum (-1)

Wo löschst Du denn den Eintrag? In einer Schleife?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Items.Delete(ListBox1.ItemIndex);
end;
Das geht beim mir ohne Probleme.

smart 29. Apr 2005 09:51

Re: Eintrag in einer Listbox löschen
 
@Orbmu2k, ganz einfach, weil ich dann die Fehlermeldung "unbekannter Bezeichner" bekomme.

@Sharky, nein, keine Schleife sondern "OnClick" bei einem Button.

Phistev 29. Apr 2005 09:56

Re: Eintrag in einer Listbox löschen
 
Überprüfst du auch, ob etwas markiert ist, und ob etwas in der Liste ist?

Orbmu2k 29. Apr 2005 09:57

Re: Eintrag in einer Listbox löschen
 
Zitat:

Zitat von smart
@Orbmu2k, ganz einfach, weil ich dann die Fehlermeldung "unbekannter Bezeichner" bekomme.

Mhhh dann gabs das im D5 wohl noch nicht ... sorry

aber ItemIndex dürfte eigentlich nicht -1 sein wenn ein Eintrag wirklich markiert ist :shock:

Sharky 29. Apr 2005 10:00

Re: Eintrag in einer Listbox löschen
 
versuche es mal so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if (ListBox1.ItemIndex <> -1) then
  begin
    ListBox1.Items.Delete(ListBox1.ItemIndex);
  end;
end;
Bist Du sicher das der Fehler beim löschen kommt und nicht an einer anderen Stelle?

smart 29. Apr 2005 10:06

Re: Eintrag in einer Listbox löschen
 
Kommt die gleiche Fehlermeldung. Ich bin da vor einiger Zeit schon einmal drüber gestolpert. Leider habe ich die Lösung vergessen.

DP-Maintenance 29. Apr 2005 10:10

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "Sonstige Fragen zu Delphi" nach "VCL / WinForms / Controls" verschoben.
Ist ja ein VCL-Objekt. Und dafür gibt es diese Sparte ;-)

Sharky 29. Apr 2005 10:17

Re: Eintrag in einer Listbox löschen
 
Zitat:

Zitat von smart
Kommt die gleiche Fehlermeldung....

Verstehe ich nicht. Das kann eigentlich überhaupt nicht sein. Hast Du mal bei der IF-Abfrage einen Breakpoint gesetzt und bist das ganz einzeln durchgegangen?

smart 29. Apr 2005 10:38

Re: Eintrag in einer Listbox löschen
 
Ich verstehe es ja auch nicht. Wenn es nicht anders geht, fange ich einfach die Fehlermeldung ab.

LoL 29. Apr 2005 10:47

Re: Eintrag in einer Listbox löschen
 
Zeig doch einfach mal den ganzen Code den du jetzt da hast und sag mal was da so alles in der Listbox drin steht, bzw was du da reinschreibst

smart 29. Apr 2005 10:59

Re: Eintrag in einer Listbox löschen
 
Vielen Dank für Eure Mühe. Habe den Fehler schon gefunden. Hatte in einer ganz andern Stelle nochmal auf den gelöschten Eintag zugegriffen. Daher der Fehler.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:18 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