Einzelnen Beitrag anzeigen

jacky213

Registriert seit: 2. Mär 2011
146 Beiträge
 
#1

Listview Daten im Hintergrund suchen und Löschen

  Alt 15. Apr 2014, 03:16
Moin,

also ich habe eine Form mit 2 Listviews. Listview1 ist die Hauptliste und Listview2 besitzt einige Einträge aus Listview1 die dort besser Sortiert aufgelistet sind. Ich wollte nun einen Eintrag in Listview2 auswählen und mittels Informationen aus einem SubItem im Listview2 den Eintrag in Listview1 suchen und Löschen.

Das ganze sieht bis jetzt so aus und funktioniert soweit auch. Der gesuchte Eintrag wird im Listview1 gesucht, gefunden und gelöscht, allerdings erhalte ich diesen Fehler:

Code:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project2.exe ist eine Exception der Klasse $C0000005 mit der Meldung 'access violation at 0x005f657c: read of address 0x00000008' aufgetreten.
---------------------------
Anhalten  Fortsetzen  Hilfe  
---------------------------
Zum suchen des Eintrags im Listview1 nutze ich folgende Prozedur:

Code:
Procedure ListviewLöschen (str: string);
  var
    i: Integer;
begin
str := Trim(str);
  for i := 0 to frmSpeisekarte.ListView1.Items.Count-1 do
    if (Trim(frmSpeisekarte.ListView1.Items.Item[i].SubItems[0]) = str) then begin
    frmSpeisekarte.SetFocus;
    frmSpeisekarte.ListView1.Items.Delete(i);
end;
end;
Aufgerufen wird das ganze so:

Code:
    ListviewLöschen(listview2.Selected.SubItems[0]);
Warum bekomme ich diese Fehlermeldung? und wie kann ich diese verhindern?

Danke!
  Mit Zitat antworten Zitat