我正在研究的一个项目涉及一个模块,它需要允许最终用户创建本质上等同于他们自己的“对象类”,存储他们可以在运行时设计和修改的数据结构/记录类型。用户还可以大大地自定义用户界面,但这不是这个问题的范围。
我们正在努力用这个功能构建的最接近的例子,我已经看到,它将类似于InstantObjects在设计时提供的东西,除了我们的系统会在运行时提供它,并把类设计控制在最终用户手中(显然,技术上非常复杂)。
我最近遇到了Delphi Win32的对象持久性框架列表: http://tdelphihobbyist.blogspot.com/2008/01/win32-object-persistence-frameworks.html
关于哪些可能最有利于我们尝试创建的运行时灵活性的任何建议?
答案 0 :(得分:3)
目前在tiopf新闻组中正在讨论这个问题。 Tiopf是一个开源对象持久性框架。目前它不支持用户可修改的对象,但看起来很快会有人添加此功能。
主要网站:http://tiopf.sourceforge.net/ 新闻组:请参阅http://tiopf.sourceforge.net/Support.shtml
请参阅支持新闻组中的“tiOPF广告运行时修改”主题。
答案 1 :(得分:2)
JSON可用于在运行时声明和修改用户定义的数据结构。 Delphi有两个库,SuperObject和lkJSON。使用JSON,对象层次结构很容易构建。 SuperObject演示源包括许多使用区域的示例。 SuperObject还包含给定JSON对象结构的迭代器方法。 我将它用于Delphi客户端库,它能够使用ApacheMQ消息代理与Java交换对象。
答案 2 :(得分:0)
您可以使用xml创建某种形式的持久性,然后相应地构建一个表单,我们为可配置的过滤器窗口做了很多,例如