-
Вобщем-то сабж, есть такая функция procedure StrToCKList(s:String;ckl:TCheckListBox);StdCall; var iSel, i : Integer; sl:TStringList; begin sl := TStringList.Create; sl.Delimiter := ','; sl.CommaText := s; for i := 0 to sl.Count-1 do begin ckl.SearchExactString('['+sl.Strings[i]+']'); iSel := ckl.Items.IndexOf(ckl.Items.Strings[i]); ckl.Checked[iSel]; end; ckl.Refresh; sl.Free; end;
Суть, в реестре храниться строка с id из БД через запятую, для выборки, я считываю их и пихаю в функцию. До момента цикла for i := 0 to sl.Count-1 do begin ckl.SearchExactString('['+sl.Strings[i]+']'); iSel := ckl.Items.IndexOf(ckl.Items.Strings[i]); ckl.Checked[iSel]; end; все зер гуд, внутри цикла ckl.SearchExactString('['+sl.Strings[i]+']'); iSel := ckl.Items.IndexOf(ckl.Items.Strings[i]); отрабатывают нормально, но ckl.Checked[iSel]; не срабатывает, галочки не проставляются, почему?
-
Вопрос снят, из-за идиотизма автора %-( ckl.Checked[iSel] := True;
|