Guten Morgen
DP'ler,
ich habe ein Problem mit einem virtuellen Listview (sprich OwnerData = true). MultiSelect steht auf true. In diesem versuche ich nun mittels folgendem Code alle ausgewählten Einträge in ein Array zu bekommen:
Delphi-Quellcode:
var i: integer;
Selection: array of TListItem;
Item: TListItem;
...
Item := nil;
SetLength(Selection, lvTasks.SelCount);
with lvTasks do
for i := 0 to SelCount - 1 do begin
Item := GetNextItem(Item, sdBelow, [isSelected]);
Selection[i] := Item;
end;
Seltsamerweise liefert mir GetNextItem jedoch immer nur nil zurück. Einzige Ausnahme: Wenn ich sdBelow durch sdAll ersetze. Dann krieg ich aber immer nur den gleichen Eintrag zurück, das bringt mich auch nicht wesentlich weiter.
In einem Testprojekt mit nicht-virtuellem ListView funktioniert alles einwandfrei, deswegen vermute ich, dass es am OwnerData liegt.
Gruß
Christian