【问题标题】:Help with Delphi DFM generation based on Database Tables (Scaffolding?)帮助基于数据库表的 Delphi DFM 生成(脚手架?)
【发布时间】:2010-08-02 14:20:11
【问题描述】:

我是 delphi 新手,我正在寻找方法来了解有关 delphi 底层技术的更多信息,并在此过程中在我的工作中做一些有用的事情,如果有人有任何提示或无论如何我可以改进我的想法请随意说出你的想法...

我想为 dfms 做某种脚手架,想法如下:我想基于 firebird 数据库表生成 - 具有明确定义的域 - 大部分表单。

我认为这个想法太简单了,或者我没有看到使它变得困难的大局,我试图不重新发明井,我在谷歌上查过但没有好的结果,所以如果有人可以在这里给我一个方向,我将不胜感激。

更新: @Larry Lustig 谢谢,我没有考虑过 delphi 框架 - 我要查找它们。

我对表单对象/处理和数据库元数据有所了解,但我不熟悉将 delphi 对象序列化到 HD。任何关于序列化和delphi框架的提示(开源,所以我可以看看:))将受到欢迎!

【问题讨论】:

  • @Moderators:我保证当我有更多工作代码时会给出正确的答案。 @Jonathan:给我发一封电子邮件(pluimers.com 上的几乎所有内容都可以):我正在为 DelphiLive 进行类似的会话(基于 SQL Server,而不是表单,而是框架的一部分)并且喜欢调整它到火鸟。我们可以解决这个问题,让它与 FireBird 一起工作,并将其作为对您问题的一个很好的答案发布)。

标签: delphi scaffolding dfm


【解决方案1】:

听起来是个有趣的想法。

我不会在磁盘上手动编写 DFM 表单,而是使用以下方法:

  • 通过检查元数据获取表的结构。
  • 创建一个 TForm 并为要表示的每一列添加一个控件。
  • 使用 Delphi 的内置序列化将表单保存到磁盘。

我自己还没有这样做,但是有许多运行时设计框架使用这个想法。

【讨论】:

    【解决方案2】:

    这只有在您需要在设计时构建大量表单时才有意义。您不能在可执行文件中使用 DFM。如果您想构建表单运行时,我建议您使用 Larry Lustig 的回答。

    我们更进一步……我们不构建表单。我们只编写类、添加一些属性并在运行时创建表单。用户可以在运行时更改此预设表单布局并保存自己的布局。控件和数据库之间的数据绑定是通过出色的 tiOPF 框架完成的。也许你也可以考虑使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-29
      • 1970-01-01
      • 2011-11-07
      • 2018-12-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-06
      • 1970-01-01
      相关资源
      最近更新 更多