Delphi的DFM是否兼容不同版本?

san*_*206 0 delphi delphi-7 delphi-xe2

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

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

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

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

未找到TGenReglas类.忽略错误并继续?

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

保存并重新打开项目后,我的所有更改都不会保存.

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

Mas*_*ler 8

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

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

如果表单设计者抛出"未找到类"错误,则表示该表单是使用尚未在IDE中注册的组件保存的,因此IDE无法加载它.您需要Install在IDE中找到该组件所在的包.