Изменяемая среда выполнения ORM / OPF Object Persistence Framework для Delphi - PullRequest
3 голосов
/ 20 марта 2009

Один из проектов, над которыми я работаю, включает модуль, который должен позволить конечным пользователям создавать то, что по существу равнозначно, их собственные "классы объектов", храня структуры данных / типы записей, которые они могут проектировать и изменять во время выполнения. Пользователи также смогут значительно настраивать пользовательский интерфейс, но это не столько вопрос этого вопроса.

Самым близким примером того, что мы стремимся создать с помощью этой функциональности, который я видел, было бы что-то очень похожее на то, что InstantObjects предоставляет во время разработки, за исключением того, что наша система предоставит его во время выполнения и поместит дизайн класса контроль в руках конечного пользователя (который, как правило, будет довольно технически сложным, очевидно).

Недавно я наткнулся на этот список структур сохраняемости объектов для Delphi Win32: http://tdelphihobbyist.blogspot.com/2008/01/win32-object-persistence-frameworks.html

Какие-либо рекомендации относительно того, какие из них могут быть наиболее благоприятными для той гибкости времени выполнения, которую мы пытаемся создать?

Ответы [ 3 ]

3 голосов
/ 21 марта 2009

В настоящее время продолжается обсуждение этого вопроса в группах новостей tiopf. Tiopf - это среда хранения объектов с открытым исходным кодом. В настоящее время он не поддерживает изменяемые пользователем объекты, но похоже, что кто-то вскоре добавит эту функцию.

Основной сайт: http://tiopf.sourceforge.net/ Новостные группы: см. http://tiopf.sourceforge.net/Support.shtml

См. Ветку "tiOPF ad runtime changes" в группе поддержки.

2 голосов
/ 21 марта 2009

JSON может использоваться для объявления и изменения пользовательских структур данных во время выполнения. Для Delphi есть две библиотеки: SuperObject и lkJSON . С JSON, иерархии объектов будет легко построить. Демо-источники SuperObject включают примеры для многих областей использования. SuperObject также содержит методы итератора для заданной структуры объекта JSON. Я использую его для клиентской библиотеки Delphi, которая может обмениваться объектами с Java с помощью брокера сообщений ApacheMQ.

0 голосов
/ 21 марта 2009

Вы можете создать некоторую форму персистентности, используя xml, а затем построить форму соответственно, мы делаем это много для настраиваемых окон фильтра, например

...