anchor.diff:    else
       begin
         FItemIndex := FindValue(FText);
  +      if not FMultiSelect and (FItemIndex < 0) and (Items.Count > 0) then begin
  +        FItemIndex := 0;
  +        FText := IfThen(ItemsHaveValues, Items.ValueFromIndex[FItemIndex], Items[FItemIndex]);
  +      end;
         ResetItemsSelected;
       end;
     Invalidate;
  
positive.code: 
  procedure TIWBSSelect.SetItemIndex(AValue: integer);
  begin
    inherited;
    ResetItemsSelected;
  end;
  
negative.code:               LSelectedVal.Add(Items[v]);
              FItemsSelected[v] := True;
            end;
          LSelectedVal.StrictDelimiter := True;
          ATextValue := LSelectedVal.CommaText;
        finally
          LSelectedIdx.Free;
  