![]() |
Delphi-Version: 2007
RTTI-Informationen zur Laufzeit erstellen?
Hi,
Eine Anwendung extrahiert zur Laufzeit RTTI-Informationen aus einer Klassenfamilie. Diese Klassenfamilie repräsentiert externe Daten. Die Informationen werden in Dropdown-Listen dargestellt, damit wird etwas ähnliches wie ein Databinding auf Objektbasis implementiert. Ändert sich die Struktur der externen Daten, wird ein Codegenerator angeschmissen, der eine neue Unit mit eben dieser Klassenfamilie erzeugt. Daraufhin wird das Programm neu kompiliert und schlußendlich steht die neue Information als RTTI im Programm zur Verfügung. Kann man das auch zur Laufzeit machen? Könnte ich also die Struktur zur Laufzeit einlesen und die RTTI-Tabellen per Hand zusammenbauen, sodaß man den Unterschied gar nicht merkt? |
AW: RTTI-Informationen zur Laufzeit erstellen?
|
AW: RTTI-Informationen zur Laufzeit erstellen?
Bingo. Schau ich mir am Montag genauer an. Das sollte es sein...
|
AW: RTTI-Informationen zur Laufzeit erstellen?
Zitat:
Also ungefähr so:
Delphi-Quellcode:
Die Klasse besteht dann nur aus Properties, die man über RTTI abfragen kann.
TGenerierteKlasse=class(TObject)
published property ArtikelName:String; // das read & write schenk ich mir in diesem Beispiel property Gewicht:Double; property Preis:Currency; ... end; Sollte dem so sein, dann gibt es andere Möglichkeiten (ohne RTTI) die besser funktionieren und keine programmiertechnischen Tricks (RTTI zur Laufzeit erzeugen) benötigen. |
AW: RTTI-Informationen zur Laufzeit erstellen?
Zitat:
Auf jeden Fall ist es so, das derzeit die Klassenfamilie per Codegenerator erstellt und in eine BPL reinkompiliert wird. die dient dann als 'Quelle' der Datenverbindungen. Sobald ich mir den Code angeschaut habe, weiss ich mehr. Welche 'anderen' Möglichkeiten gäbe es denn? |
AW: RTTI-Informationen zur Laufzeit erstellen?
Hallo,
habe das gleiche Problem wie in #4 beschrieben. [QUOTE=sx2008;1109543] Zitat:
|
AW: RTTI-Informationen zur Laufzeit erstellen?
Die RTTI sind keine Tricks.
Ab D2010 sind sie sehr leistungsfähig und in Verbindung mit Attributen sehr nützlich, um Klassen und Objekte zu analysieren und zu serialisieren. Daniel hatte ein interessantes Video zu D2010 und ist auch auf diese Themen genauer eingegangen. Wenn Du ein älteres Delphi hast, wird es schwieriger. |
AW: RTTI-Informationen zur Laufzeit erstellen?
Ja, Delphi 2010.
Dort ![]() funktioniert leider der Link nicht. |
AW: RTTI-Informationen zur Laufzeit erstellen?
Wer traut sich, mit dem Chef zu schimpfen? :stupid:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 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