![]() |
Property-Info zur Laufzeit
Hallo,
habe folgendes kleines Problem.
Delphi-Quellcode:
Wie muss ich FillPropertyList ausgestalten, so das alle zukünftigen, von TBaseObject abgeleiteten, Objekte ihre
Type
TBaseObject = class(TObject) private FPropertyList : PPropList; protected function GetCount : Integer; function GetItem(index : Integer) : PPropInfo; procedure FillPropertyList; // <- hier public constructor Create; destructor Destroy; override; property Count : Integer read GetCount; property Items[Index : Integer] : PPropInfo read GetItem; published end; Properties in die Liste eintragen? Ein
Delphi-Quellcode:
hilft nicht richtig weiter, da mir verborgen bleibt ob bei der Rückgabe von zB.:
procedure TBaseObject.FillPropertyList;
begin GetPropList(Self.ClassInfo, FPropertyList); end;
Delphi-Quellcode:
es sich um einen Integer oder um ein Byte handelt(TypInfo.TypeKind = tkInteger).
TSystem = class(TBaseObject)
private FDomainRole : Byte; ... public ... property DomainRole : Byte read FDomainRole; ... end; Ziel der ganzen Übung soll sein, ein "Überobjekt" zu haben, das alle Properties seiner "Kindobjekte" die public sind auch im Public-Bereich sichtbar macht, ohne das ich für jedes "Kindobjekt" diese peer Hand eintragen muss. In der Art von:
Delphi-Quellcode:
Hat jemand ein Lösungsvorschlag oder andere Idee?
TComputer = class(TObject)
private FSystem : TSystem; protected public constructor Create; destructor Destroy; override; published end; ... procedure TForm1.ButtonClick(Sender: TObject); var Comp : TComputer; begin Comp := TComputer.Create; ListBox1.Items.Add(Comp.DomainRole); Comp.Free; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 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