Gewusst wie: überschreiben einer geerbten Immobilie?

Habe ich eine class (TMyClass) die eine Eigenschaft (Artikel: TItems)

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.

Den neuen "Items" - Eigenschaft wird vererbt von TItems, aber wenn ich installiert die Komponente die neue Eigenschaft TExItems die "NewProb" nicht angezeigt und es sieht aus wie die "Items" - Eigenschaft ist immer noch TItems nicht TExItems...wie um es zu überschreiben?

Dank

Änderung :
Hier ist der code der

geben
TKHAdvSmoothDock = Klasse;

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;

Grüße.

Auch, um etwas in der Delphi-IDE, sollten Sie beginnen, von der Klasse TPersistent -
Der neue code, den Sie eingeschlossen habe, enthalten nicht die Klassen miteinander in Beziehung stehen, also, was tun Sie haben zu tun mit "überschreiben" etwas? Sie enthalten auch viele Dinge, die wahrscheinlich in keinem Zusammenhang zu Ihrer Frage. Bitte achten Sie darauf, dass Sie post ein minimal Beispiel also nicht ablenken vom eigentlichen Thema.
Herzlich willkommen auf Stack Overflow. Beachten Sie, dass Sie müssen nicht ein Experte sein, um zu Stapeln-Übersicht in, um zu Fragen, gute Fragen hier. Die Techniken, die für das stellen guter Fragen sind universell. Sie würde vor den gleichen Problemen, wenn Sie wurden per e-Mail an einen Freund. Dein Freund könnte mehr leicht, wenn Sie einen Fehler machen, aber er konnte immer noch nicht die Antwort auf Ihre Frage nur die Informationen, die Sie gegeben haben, hier so weit.

InformationsquelleAutor user1512094 | 2012-07-11

Schreibe einen Kommentar