Ich habe eine TListview (vsReport und multiselect true) und will dort die Items zählen, die der User ausgewählt hat, bzw später dann auch was damit machen. Aber alles was ich bisher versucht habe und alle im Netz gefundenen Codeschnipsel funktionierten nicht.
Code: Alles auswählen
ListView1.Items.SelCount
zählt einfach nicht richtig. Wenn ich mir den Wert per ShowMessage beim OnSelectItem anzeigen lasse, dann fängt er bei -1 an, zählt dann korrekt bis 1 hoch, dann bleibt der wert aber dabei.
Code: Alles auswählen
var Item : TListItem;
begin
Item := Listview1.selected;
showmessage(Item.text);
end;
von http://forum.lazarus.freepascal.org/ind ... ic=25758.0 will gar nicht kompilieren, da Lazarus direkt meckert, daß Text keine erlaubte eigenschaft ist
wenn ich sowas mache:
Code: Alles auswählen
for i := 0 to ListView1.Items.Count-1 do
begin
if ListView1.Items.Selected = True then
dosomething();
end
krieg ich nen SigSev fehler.. Es scheint mir jedenfalls so das Selected einen Falschen Wert zurück liefert? wenn ich alle alle Items durchlaufen lasse per
Code: Alles auswählen
for i := 0 to ListView1.Items.Count-1 do
begin
ShowMessage(BoolToStr(ListView1.Items[i].Selected));
end
Dann krieg ich immer nur eine 0 zurück geliefert :/