So, wie der Quelltext dort steht, ist es klar, dass es nicht funktioniert:
Delphi-Quellcode:
listview1.Clear;
...
for J := 0 to listview1.items.Count - 1 do
muss nicht zwingend sein, irgend wann muss er vor dem Neueinlesen den Inhalt löschen. Problematischer ist hier eher, dass nur wenn schon was in der Listview enthalten ist ein weiterer Eintrag dazu kommt:
Delphi-Quellcode:
for J := 0 to listview1.items.Count - 1 do // --> listview durchsuchen ob Hersteller schonmal gelistet ist
begin
showmessage('beginne J schleife');
if (ListView1.Items.Item[J].Caption = ean_hersteller_db) // prüfen ob Hersteller schon einmal aufgeführt
then begin
exit; // Schleife verlassen
end
else begin
list:= listview1.Items.add; //Eintrag erzeugen
list.caption:=ean_hersteller_db;
end;
end;
end;
if listview1.items.Count = 0 then //das hier fehlt!
begin
list:= listview1.Items.add; //Eintrag erzeugen
list.caption:=ean_hersteller_db;
end;