![]() |
ObjectList überschreiben?
Hallo
Ich habe schon wieder eine Anfängerfrage: Ich benutze in meinem Programm die TObjectList. Wenn ich dort Objekte reinlade kann ich ja nur durchs casten auf sie zugreifen. Nun weiß ich das man die ObjectList irgentwie überschreiben kann. Sich also ne ObjectList spezielle für das Objekt schaffen kann. Leider habe ich absolut keine Ahnung wie das geht. Wer kann mir da helfen? |
Re: ObjectList überschreiben?
Delphi-Quellcode:
type
TMyObject = class; TMyObjectList = class (TObjectList) private function GetMyObject (const AIndex: Integer): TMyObject; public property MyObject[const AIndex: Integer]: TMyObject read GetMyObject; end; function TMyObjectList.GetMyObject (const AIndex: Integer): TMyObject; begin Result := TMyObject (Items[AIndex]); end; |
Re: ObjectList überschreiben?
Hi,
wobei ich das überschreiben der property Items vorziehe:
Delphi-Quellcode:
TMyObject = class(TObject)
private public // Some propertys end; TMyObjectList = class(TObjectList) private function GetItem(Index: Integer): TMyObject; public property Items[Index: Integer]: TMyObject read GetItem; end; implementation function TMyObjectList.GetItem(Index: Integer): TMyObject; begin Result := TMyObject(inherited Items[Index]); end; |
Re: ObjectList überschreiben?
Zitat:
Delphi-Quellcode:
Sonst kann man nicht mehr MyList[i] schreiben und muss immer MyList.Items[i] schreiben.
TMyObjectList = class(TObjectList)
private function GetItem(Index: Integer): TMyObject; public property Items[Index: Integer]: TMyObject read GetItem; {-->}default;{<--} end; |
Re: ObjectList überschreiben?
OK, hast recht. Ich hab mir aber angewöhnt immer MyList.Items[I] zu schreiben *g*
|
Re: ObjectList überschreiben?
Danke. Genau das habe ich gesucht.
Ich muss dann also alle Funktionen überschreiben, die ansonsten TObject zurückgeben würde (falls ich sie verwenden will) Z.B. Last, First, ... |
Re: ObjectList überschreiben?
Hallo,
anstatt TObjectlist zu ueberschreiben, kannst du die Klasse auch ableiten. Mit dem ![]() Greetz alcaeus |
Re: ObjectList überschreiben?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz