Delphi的DFM在不同版本之间兼容吗?

Delphi的DFM在不同版本之间兼容吗?,delphi,delphi-xe2,delphi-7,Delphi,Delphi Xe2,Delphi 7,我正在从D7迁移到XE2,IDE已经更改了一些DFM文件 在某些文件中,更改只是几个简单的属性,如删除ItemHeight或添加ExplicitLeft=0 但是,在其他文件中,更改更大,比如删除整个对象声明,我可以在比较dfm文件和D7时检查这一点 当我在XE2中添加D7中缺少的DFM部分时,它会保存而不出错: 找不到类TGenReglas。忽略错误并继续 我已经检查过了,TGenReglas在项目中,我甚至将它的文件夹添加到项目路径中,以防万一 保存并重新打开项目后,不会保存我所做的任何更改

我正在从D7迁移到XE2,IDE已经更改了一些DFM文件

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

但是,在其他文件中,更改更大,比如删除整个对象声明,我可以在比较dfm文件和D7时检查这一点

当我在XE2中添加D7中缺少的DFM部分时,它会保存而不出错:

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

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

保存并重新打开项目后,不会保存我所做的任何更改


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

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

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

如果表单设计器抛出类not found错误,这意味着表单是与未向IDE注册的组件一起保存的,因此IDE无法加载它。您需要找到该组件所在的包并将其安装到IDE中。

TGenReglas是IDE中缺少的某个组件。您需要将其安装到design time软件包以解决此问题。