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 Listview kuerzt ItemListe mit Insert? (https://www.delphipraxis.net/58723-listview-kuerzt-itemliste-mit-insert.html)

lucius 11. Dez 2005 16:44


Listview kuerzt ItemListe mit Insert?
 
Guten Abend Leute,

Ich habe ein komisches Problem.
Ich habe eine Listview die mit Items gefuellt ist, jetzt werden jede 10 Minuten Items hinzugefuegt mittels das Listview Kommando Insert.
Ich brauche Insert weil Neue Items der Listview hinzugefuegt werden und das kann auch mal an einer anderen Stelle sein dan ab Oben.(Insert(0, ....)
Nachdem die Listview dan gefuellt wurde mit den Neuen Items wird die LV abgespeichert in einer Datei.
Jetzt muesste es in der Regel doch sein das die LV groesser wird weil ja jedesmal neue Items hinzukommen das ist aber nicht der Fall, irgendwie verschwinden Items in der LV wodurch die Anzahl vor dem fuellen gleich bleibt als nach dem fuellen.
Delphi-Quellcode:
try
  for c := 0 to w.Count -1 do //StringListe w enthaellt den ZeilenIndex(356, 567, unsw) des Items//
    begin
      z := CreateStrings(SimpleRSS.Items.Items[strtoint(w.Strings[c])].Description);
      listitem := listview.Items.Insert(strtoint(w.Strings[c])); //<-- Ab den ZeilenIndex hinzufuegen.
      listitem.Caption := IntToStr(strtoint(w.Strings[c]));
      z.Values['Added'] := Parse(' ', z.Values['Added'], 1);
      listitem.SubItems.add(z.Values['Added']);
      listitem.SubItems.add(z.Values['Category']);
      listitem.SubItems.add(SimpleRSS.Items.Items[strtoint(w.Strings[c])].Title);
      listitem.SubItems.add(z.Values['Size']);
      listitem.SubItems.add(z.Values['Status']);
      listitem.SubItems.add(z.Values['Speed']);
      listitem.SubItems.Add(SimpleRSS.Items.Items[strtoint(w.Strings[c])].Link);
      listitem.SubItems.Add(z.Values['Download']);
      z.Free;
      listview.Items.EndUpdate;
    end;
finally
Speichern.Click; //<--- Speicherprocedure.
end;
Woran kann das liegen?
Danke im voraus.

MFG Lucius.

jim_raynor 11. Dez 2005 16:46

Re: Listview kuerzt ItemListe mit Insert?
 
Vielleicht an deiner Speichern/Lade Routine?

lucius 11. Dez 2005 16:48

Re: Listview kuerzt ItemListe mit Insert?
 
Nein jim_raynor, da stimmt alles, das habe ich schon probiert.

marabu 11. Dez 2005 17:03

Re: Listview kuerzt ItemListe mit Insert?
 
Hallo Lucius,

der von dir gezeigte Code sollte die Anzahl der Items in der ListView vergrößern, der Fehler wird wohl woanders verursacht. Du kannst das leicht prüfen, indem du dir ListView.Items.Count vor und nach der Schleife zur Kontrolle ausgeben lässt.

Übrigens: BeginUpdate und EndUpdate gehören vor und hinter die Schleife. Du hast nur EndUpdate und das auch noch in der Schleife.

Grüße vom marabu

lucius 11. Dez 2005 17:20

Re: Listview kuerzt ItemListe mit Insert?
 
Hi marabu,

Das mit dem Begin- und Endupdate ja hast recht, sehe es jetzt erst wie du mich drauf aufmerksam machst.
Er fuegt die Items richtig ein, habs kontrolliert mit LV.Items.Count wie du sagtest. Vorher(952) Nachher(955) aber der Fehler bleibt, es muss etwas sein bevor er die Schleife reingeht.
Werde mich mal verteifen.

MFG Lucius


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz