Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Einige haben ja schon mitbekommen, dass ich mich momentan sehr intensiv mit RTTI beschäftige.
Mir ging einiges bei der Programmierung auf den Keks, z.B. eine Implementierung von Pacal in Lua(die Scriptsprache die ich verwende).
Im gleichen moment, als das Problem aufkam, hatte ich auch schon die Lösung und mich mit RTTI angefreundet.
Mitlerweile ist meine TXD_LUAClass sehr funktional und tut ihren dienst.
Dann hab ich überlegt wie ich die arbeit mit XML erleichtern kann und auch hier kam wieder die gleiche Lösung, RTTI.
Nun hab ich meine RTTI Unit(XD_RTTI.pas) erweitert und ein Konzept entwickelt, um daten aus XML Datein direkt in die genutzen Klassen zu laden.
Das einzige was man tun muss, ist den Manager, also der die Daten lädt ledeglich so zu bennen wie der erste Tag in der XML file.
Alternativ könnte man den kleinen Codeblock hardcoden und den Klassennamen dann frei wählen.
Durch RTTI werden dann Tags in der XML mit Properties in der jeweiligen Klasse verglichen und bei übereinstimmung übergeben.
So kann man sich je nach komplexität mehere 100Zeilen code sparen, bei gleicher Performance.
Ich hab eine hassliebe beziehung mit den Entwicklern von RTTI, für Delphi und FreePascal.
Vieles ist echt gut durchdacht und gut in der Performance aber leider haben beide noch gute defizite in der realisierung.
Es fehlen noch einige dinge in beiden compilern.
Ich hab auch angefangen RTTI zu dokumentieren, da es keine gute Doku im Netz gibt.
Da ich das ordentlich machen will, hab ich gleich noch allgemeines über Klassen, speicherverwaltung von Klassen und Properties hinzugefügt.
Ich hab heute auch eine Demo fertig gestellt, die die zukünftige X-Dream Theme config lesen kann.
Sie zeigt sehr gut, wie die ganze sache funktioniert und deswegen stell ich die mal zur verfügung.
http://linuxprofessionals.org/xdream/screenshots/xd_rtti.rar
Meine XD_RTTI.pas unterstützt noch nicht alle RTTI TypeKind aber die gängigen.
Die Doku zur letzten Version ist hier zu finden http://www.linuxprofessionals.org/xdream/wiki/index.php/XD_RTTI.
Wenn es Probleme mit der Doku gibt, bitte hilfe schreien. Als Programmierer ist einen vieles logisch, was für den Anwender nicht der Fall ist.
Ich werde die Tage die Doku noch um die neuen Funktionen erweitern.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Mitglieder in diesem Forum: Google [Bot] und 6 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.