![]() |
Brauche hilfe bei Property
Hallo,
ersteinmal meine Klassen:
Delphi-Quellcode:
Soweit jetzt mal meine Beispielstruktur.
Type TMyclass2 = class
private FData1 : integer; FData2 : integer; public constructor create; destrutor destroy; override; property Data1 : integer read FData1; property Data2 : integer read FData2; end; Type TMyClass = Class private FDaten : array of TMyClass2; function GetDaten (Index : integer): integer; public; construcotr create; destructor destroy; override; property Data1[index : integer] : array of TMyclass2 : read GetDaten; end; implementation function TMyClass.getDaa1; begin result := self.fDaten[index].Data1; end; Jetzt kann ich ja über die property Data1 auf Fdata1 in TMyClass2 zugreifen. Doch wie muss ich jetzt das ganze anstellen, damit ich auf in TMyClass dann ebenfalls auf Data1 zugreifen kann, welches sich ja dann im Array befindet. Zugriff sollte so aussehen -->
Delphi-Quellcode:
ist das überhaupt möglich?
var Test : Tmyclass;
... Test.Daten[0].Data1; [EDIT] Im Prinzip soll es eine property werden, bei der ich einen Index angebe, und dann auf die property des objectes im Array zugreifen kann |
Re: Brauche hilfe bei Property
Ich würde an deiner Stelle eine TObjectList verwenden.
Delphi-Quellcode:
1
uses
..., ContNrs; type TMyList = class; TMyItem = class; TMyList = class(TObjectList) protected function GetItem(Index: integer):TMyItem; public property Items[Index: Integer]: TMyItem read getItem; default; end; TMyItem = class(TPersistent) private FFeld1: Integer; published property Feld1: Integer read FFeld1; end; //Verwendung: var List: TMyList; begin List := TMyList.Create; try IrgendeineVariable := List[0].Feld1; finally List.Free; end; end; |
Re: Brauche hilfe bei Property
Ich denke mal die Property Data1 sollte vom Typ TMyClass2 sein. Dann kannst du über Index auf ein Element des Array of TMyClass2 zugreifen. Die beiden Datenfelder Data1 und Data2 sind dann wieder Propertys auf die du zugreifen kannst.
Delphi-Quellcode:
Type TMyClass = Class
private FDaten : array of TMyClass2; function GetDaten (Index : integer): integer; public; construcotr create; destructor destroy; override; property Data[index : integer] : TMyclass2 : read GetDaten; end; implementation function TMyClass.getData; begin result := self.fDaten[index]; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 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 by Thomas Breitkreuz