Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Eigenschaften auslesen in Record / TObject (https://www.delphipraxis.net/47762-eigenschaften-auslesen-record-tobject.html)

Taladan 15. Jun 2005 22:27


Eigenschaften auslesen in Record / TObject
 
Gibt es eine Möglichkeit die Anzahl, Bezeichnung und Inhalt von Tobject oder Records während der laufzeit aus zu lesen?

Mir schwebt da etwas in folgender Art vor

Anzahl_Eigenschaften := TObject.CountEigenschaften

oder

eigenschaftintalt := tobject.eigenschaft[0].inhalt

oder

eigenschaftsname := tobject.eigenschaft[0].name

jbg 15. Jun 2005 22:39

Re: Eigenschaften auslesen in Record / TObject
 
Bei Records siehts da etwas düsterer aus, außer der Record besitz ein IInterface, string oder dyn. Array, dann bindet der Compiler zwar die Typeninformation für ihn ein, jedoch befindet sich deren Stuktur nur in der System-Unit (und da auch nur in implementaion) und nicht in der TypInfo Unit, weil es nur intern für Strings, Interfaces und dyn. Arrays benötigt wird.

Bei Klassen hingegen hat man für alle published-Eigenschaften/Methoden durch die Unit TypInfo Zugriff. Alle Klassen, die TPersistent in der Vererbungshierarchie haben, benötigen können einfach abgefragt werden. Bei allen anderen Klassen ist es notwendig den Compiler-Schalter {$M+} bzw. {$TYPEINFO ON} umzulegen um diese Funktionalität zu erhalten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz