Wie gesagt, irgendwo verschwindet der Wert in ItemData oder dieser wird einfach nicht richtig gespeichert.
Also müßte man die
VCL debuggen und versuchen rauszufinden, was da schief läuft.
Für den Anfang könnt ma ja diesen Code nehmen und ihn ab der State-Zuweisung (inkl. Debug-DCUs) debuggen.
Delphi-Quellcode:
CheckListBox1.Style := lbVirtual;
CheckListBox1.Count := 10;
CheckListBox1.State[1] := cbChecked;
x := CheckListBox1.State[1];
if x = cbChecked then ;
(das IF ist nur vorhanden, damit das X nicht sofort wegoptimiert wird)