anchor.diff:      constructor Create(AOwner: TComponent); override;
       destructor  Destroy; override;
       function    ItemCount: integer; override;
  -    function    Text: string;
  +    property    Text: string read GetText write SetText stored False;
     end;
     
   
  
positive.code: function TfpgTextListBox.ItemCount: integer;
  begin
    result := FItems.Count;
  end;
  
  function TfpgTextListBox.Text: string;
  begin
    if (ItemCount > 0) and (FocusItem <> -1) then
      result := FItems[FocusItem]
    else
      result := '';
  end;
  
  { TColorItem }
  
negative.code: 
  { TfpgTextListBox }
  
  function TfpgTextListBox.GetText: string;
  begin
    if (ItemCount > 0) and (FocusItem <> -1) then
      result := FItems[FocusItem]
    else
      result := '';
  end;
  
  procedure TfpgTextListBox.SetText(const AValue: string);
  var
    i: integer;
  begin
    if AValue = '' then
      SetFocusItem(-1)  // nothing selected
    else
    begin
      for i := 0 to FItems.Count-1 do
      begin
        if SameText(Items.Strings[i], AValue) then
        begin
          SetFocusItem(i);
          Exit; //==>
        end;
      end;
      // if we get here, we didn't find a match
      SetFocusItem(-1);
    end;
  end;
  
  procedure TfpgTextListBox.DrawItem(num: integer; rect: TfpgRect; flags: integer);
  begin
    //if num < 0 then
  