Delphi 的运行时可更改 ORM / OPF 对象持久性框架
我正在从事的项目之一涉及一个模块,该模块需要允许最终用户创建本质上等同于他们自己的“对象类”,存储他们可以在运行时设计和修改的数据结构/记录类型。 用户还可以相当程度地自定义用户界面,但这并不是这个问题的范围。
我所见过的与我们正在努力构建的此功能最接近的示例将非常类似于 InstantObjects 在设计时提供的功能,只不过我们的系统将在运行时提供它,并将类设计控制放在最终用户的手中(显然,他们通常在技术上相当复杂)。
我最近发现了 Delphi Win32 的对象持久性框架列表: http://tdelphihobbyist.blogspot.com/2008/01/ win32-object-persistence-frameworks.html
关于其中哪一个最有利于我们尝试创建的运行时灵活性,有什么建议吗?
One of the projects I'm working on involves a module that needs to allow end users to create what essentially equates to, their own "object classes," storing data structures / record types that they can design and modify at runtime. The users will also be able to customize the user interface considerably, but that is not so much the scope of this question.
The closest example to what we are striving to build with this functionality, that I've seen, would be something very akin to what InstantObjects provides at design time, except our system would provide it at runtime, and put the class design control in the hands of the end-user (who will generally be pretty technically sophisticated, obviously).
I recently came across this list of Object Persistence Frameworks for Delphi Win32:
http://tdelphihobbyist.blogspot.com/2008/01/win32-object-persistence-frameworks.html
Any recommendations as to which of these might be the most conducive to the kind of runtime flexibility we are trying to create?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
目前 tiopf 新闻组中正在对此进行讨论。 Tiopf 是一个开源对象持久化框架。 目前它不支持用户可修改的对象,但看起来很快就会有人添加此功能。
主站点:http://tiopf.sourceforge.net/
新闻组:请参阅 http://tiopf.sourceforge.net/Support.shtml
请参阅“tiOPF”广告运行时修改”支持新闻组中的线程。
There is currently ongoing discussion of this in the tiopf newsgroups. Tiopf is a open source object persistence framework. Currently it doesn't support user modifiable objects but it looks like someone will be adding this functionality shortly.
Main site: http://tiopf.sourceforge.net/
News groups: See http://tiopf.sourceforge.net/Support.shtml
See "tiOPF ad runtime modifications" thread in the support newsgroup.
JSON 可用于在运行时声明和修改用户定义的数据结构。 Delphi 有两个库,SuperObject 和 lkJSON。 使用 JSON,可以轻松构建对象层次结构。 SuperObject 演示源包括许多使用领域的示例。
SuperObject 还包含给定 JSON 对象结构的迭代器方法。
我将它用于 Delphi 客户端库,该库能够使用 ApacheMQ 消息代理与 Java 交换对象。
JSON could be used to declare and modify user-defined data structures at runtime. There are two libraries for Delphi, SuperObject and lkJSON. With JSON, object hierarchies would be easy to build. The SuperObject demo sources include examples for many usage areas.
SuperObject also contains iterator methods for a given JSON object structure.
I use it for a Delphi client library which is able to exchange objects with Java using the ApacheMQ message broker.
您可以使用 xml 创建某种形式的持久性,然后相应地构建一个表单,例如,我们在可配置的过滤器窗口中经常这样做
You can create some form of persistence using xml and then buil a form acordingly, we do this a lot for configurable filter windows for example