anchor.diff:    until false;
   end;
   
  -procedure DoControl_SetState_Checklistbox(C: TCheckListBox; AValue: string);
  +procedure DoControl_SetState_CheckListbox(C: TCheckListBox; AValue: string);
   var
     SItem: string;
     N: integer;
  
positive.code:   N:= StrToIntDef(SValue, -1);
    if (N>=0) and (N<C.Items.Count) then
      C.ItemIndex:= N;
  end;
  
  procedure DoControl_SetState_Listview(C: TListView; SValue: string);
  
negative.code: end;
  
  
  procedure DoControl_SetState_Combobox(C: TCombobox; const SValue: string);
  var
    N: integer;
  begin
    if C.ReadOnly then
    begin
      N:= StrToIntDef(SValue, -1);
      if (N>=0) and (N<C.Items.Count) then
        C.ItemIndex:= N;
    end
    else
      C.Text:= SValue;
  end;
  
  procedure DoControl_SetState_Checkbox(C: TCheckbox; const SValue: string);
  begin
    if SValue='1' then C.Checked:= true else
    if SValue='0' then C.Checked:= false else
    if SValue='?' then begin C.AllowGrayed:= true; C.State:= cbGrayed; end;
  end;
  
  procedure DoControl_SetState_Listbox(C: TListbox; const SValue: string);
  var
    N: integer;
  