![]() |
Re: AccessViolation mit Checkbox aber warum?
Du könnstest dir den Index in der Tag-Eigenschaft der einzelnen Checkboxen merken.
|
Re: AccessViolation mit Checkbox aber warum?
So habe es jetzt geschafft mit den ListviewIndex
Delphi-Quellcode:
if ListView.Items[z].SubItems[1] = 'TV - Kids' then
begin slCheckFields.Assign(Listview.Items[z].SubItems); slCheckFields.Insert(0, inttostr(z) + Listview.Items[z].Caption); //<--ListIndex Zuweisung slCheckLines.Add(slCheckFields.CommaText); ListView.Items[z].Delete; end;
Delphi-Quellcode:
klapt alles ganz gut, es gibt aber noch nen kleines Problem, beim Ersten Durchgang wird alles Korrekt angezeigt.
for i := Pred(slCheckLines.Count) downto 0 do
begin CheckFieldList.CommaText := slCheckLines[i]; with ListView.Items.Insert(strtoint(CheckFieldList[0])) do //ListIndex auslesen begin Caption := CheckFieldList[0]; CheckFieldList.Delete(0); SubItems.Assign(CheckFieldList); end; end; Zitat:
Zitat:
MFG Lucius. |
Re: AccessViolation mit Checkbox aber warum?
Hallo Lucius,
wodurch unterscheiden sich eigentlich IntToStr(z) und ListItem.Caption in deinem folgenden Code? Vermutlich gar nicht. Du solltest es dann auch nicht verketten.
Delphi-Quellcode:
Grüße vom marabu
if ListView.Items[z].SubItems[1] = 'TV - Kids' then
begin slCheckFields.Assign(Listview.Items[z].SubItems); // und jetzt: doppelt hält besser - oder wie? slCheckFields.Insert(0, IntToStr(z) + Listview.Items[z].Caption); slCheckLines.Add(slCheckFields.CommaText); ListView.Items[z].Delete; end; |
Re: AccessViolation mit Checkbox aber warum?
Hi marabu, erstmal Danke fuer deine Antwort, ich moechte doch nur das Item was geloescht wurde wieder auf dem selben Platz zurueck einfuegen in der Listview.
Das ist alles was ich erreichen moechte. Gruss Lucius. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:01 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