title: How to override an inherited property?
body: <p>I have a class (TMyClass) which have a property (Items: TItems)</p>
  
  <pre><code>TItems = class;    
  
  TMyClass = class(TComponent)
  private
     FItems: TItems;
     procedure SetItems(const Value: TItems);
  protected
  
  public
  
  protected
    property Items: TItems read FItems write SetItems;
  end.
  
  TExItems = class(TItems)
  private
    FNewProb: Integer;
  protected
  
  public
  
  published
    property NewProp: Integer read FNewProb write FNewProb;
  end.
  
  TExMyClass = class(TMyClass)
  private
     FItems: TExItems;
     procedure SetItems(const Value: TItems);
  protected
  
  public
  
  published
    property Items: TExItems read FItems write SetItems;
  end.
  </code></pre>
  
  <p>The new "Items" property is inherited from TItems but when I installed the component the new property of TExItems which is "NewProb" did not appear and it looks like the "Items" property is still TItems not TExItems...how to override it?</p>
  
  <p>Thanks</p>
  
  <p>Modification : 
  Here is the Real code</p>
  
  <p>type
      TKHAdvSmoothDock = class;</p>
  
  <pre><code>TKHAdvSmoothDockItem = class(TAdvSmoothDockItem)
  private
    FImageIndex: TImageIndex;
    procedure SetImageIndex(const Value: TImageIndex);
  protected
  
  public
  
  published
    property ImageIndex: TImageIndex read FImageIndex write SetImageIndex default -1;
  end;
  
  TKHAdvSmoothDockItems = class(TAdvSmoothDockItems)
  private
    FOwner: TKHAdvSmoothDock;
    FOnChange: TNotifyEvent;
    function GetItem(Index: Integer): TKHAdvSmoothDockItem;
    procedure SetItem(Index: Integer; const Value: TKHAdvSmoothDockItem);
  protected
    function GetOwner: TPersistent; override;
  public
    constructor Create(AOwner: TKHAdvSmoothDock);
    function Add: TKHAdvSmoothDockItem;
    function Insert(Index: Integer): TKHAdvSmoothDockItem;
    property Items[Index: Integer]: TKHAdvSmoothDockItem read GetItem write SetItem; default;
    procedure Delete(Index: Integer);
  published
    property OnChange: TNotifyEvent read FOnChange write FOnChange;
  end;
  
  TKHAdvSmoothDock = class(TAdvSmoothDock)
  private
    FImageChangeLink: TChangeLink;
    FImages: TCustomImageList;
    FItems: TKHAdvSmoothDockItems;
    procedure ImageListChange(Sender: TObject);
    procedure SetImages(const Value: TCustomImageList);
    procedure SetItems(const Value: TKHAdvSmoothDockItems);
    function GetItems: TKHAdvSmoothDockItems;
    { Private declarations }
  protected
    procedure UpdateImagesFromImageList;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    property Images: TCustomImageList read FImages write SetImages;
    property Items: TKHAdvSmoothDockItems read GetItems write SetItems;
  end;
  </code></pre>
  
  <p>Regards.</p>