【问题标题】:Are Delphi's DFM compatible among different versions?Delphi的DFM在不同版本之间是否兼容?
【发布时间】:2014-03-19 16:21:02
【问题描述】:

我正在从 D7 迁移到 XE2,并且某些 DFM 文件已被 IDE 更改。

在某些文件中,更改只是几个简单的属性,例如删除 ItemHeight 或添加 ExplicitLeft = 0

但是,在其他文件中,更改更大,例如删除整个 object 声明,当我将 dfm 文件与 D7 进行比较时,我可以检查这一点。

当我在 XE2 中从 D7 中添加 DFM 的缺失部分时,它会在没有错误的情况下保存:

找不到类 TGenReglas。忽略错误并继续?

我已经检查过了,TGenReglas 在项目中,我什至将它的文件夹添加到项目路径中,以防万一。

保存并重新打开项目后,我的任何更改都没有保存。

我可以将 DFM 文件从 D7 复制到 XE2 以解决这个问题吗?或者我应该怎么做?

【问题讨论】:

  • TGenReglas 是您的 IDE 中缺少的一些组件。您需要安装(它到)设计时包来解决问题。

标签: delphi delphi-xe2 delphi-7


【解决方案1】:

基本的 DFM 格式在 Delphi 版本之间是兼容的。它是一个序列化的对象树,每个对象都有一组属性。

不过,保存的属性可以从一个版本更改为另一个版本。通常,将 DFM 从早期版本加载到较新版本是安全的,但反过来不一定。 Explicit* 属性是 Delphi 7 之后添加的新内容的一个示例。

如果表单设计器抛出“找不到类”错误,这意味着表单是使用尚未在 IDE 中注册的组件保存的,因此 IDE 无法加载它。您需要在 IDE 中找到该组件所在的包和Install

【讨论】:

    猜你喜欢
    • 2013-03-12
    • 2023-01-26
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 2018-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多