2009-03-20 7 views
3

Eines der Projekte, an denen ich arbeite, beinhaltet ein Modul, das Endbenutzern erlauben soll, das zu erstellen, was im Wesentlichen ihren eigenen "Objektklassen" entspricht, die Datenstrukturen speichern. Aufzeichnungstypen, die sie zur Laufzeit entwerfen und ändern können. Die Benutzer werden auch in der Lage sein, die Benutzeroberfläche erheblich anzupassen, aber das ist nicht so sehr der Umfang dieser Frage. Das nächste Beispiel zu dem, was wir mit dieser Funktionalität aufbauen möchten, wäre etwas, das dem, was InstantObjects zur Entwurfszeit bietet, sehr ähnlich ist, außer dass unser System es zur Laufzeit bereitstellt und die Klasse stellt Design-Kontrolle in den Händen des Endbenutzers (der in der Regel ziemlich technisch anspruchsvoll sein wird).Runtime-veränderbares ORM/OPF Object Persistence Framework für Delphi

ich auf diese Liste von Objekt-Persistenz-Frameworks für Delphi Win32 vor kurzem kam: http://tdelphihobbyist.blogspot.com/2008/01/win32-object-persistence-frameworks.html

Alle Empfehlungen, welche von diesen könnten die am ehesten auf die Art der Laufzeit flexibel sein, wir versuchen, zu erstellen?

Antwort

3

Es ist derzeit laufende Diskussion über diese in den tiOPF Newsgroups. Tiopf ist ein Open-Source-Objekt Persistenz-Framework. Momentan unterstützt es keine vom Benutzer modifizierbaren Objekte, aber es sieht so aus, als würde jemand diese Funktionalität in Kürze hinzufügen.

Hauptseite: http://tiopf.sourceforge.net/ Nachrichten Gruppen: Siehe http://tiopf.sourceforge.net/Support.shtml

Siehe "tiOPF ad Laufzeitänderungen" Thread im Support-Newsgroup.

0

Sie können irgendeine Form von Persistenz mit Hilfe von XML erstellen und dann ein Formular buil acordingly, tun wir dies viel für konfigurierbare Filterfenster zum Beispiel

2

JSON könnte verwendet werden, um benutzerdefinierte Datenstrukturen zur Laufzeit zu deklarieren und zu ändern. Es gibt zwei Bibliotheken für Delphi, SuperObject und lkJSON. Mit JSON wären Objekthierarchien einfach zu erstellen. Die SuperObject-Demoquellen enthalten Beispiele für viele Verwendungsbereiche. SuperObject enthält auch Iteratormethoden für eine gegebene JSON-Objektstruktur. Ich benutze es für eine Delphi-Client-Bibliothek, die Objekte mit Java mit dem ApacheMQ Message Broker austauschen kann.

+0

Hat jemand ein Code-Beispiel zur Verwendung von lkJSON zum Laden oder Speichern von Delphi-Objekten gepostet? – PSyLoCKe