我正在从D7迁移到XE2,并且IDE已经更改了一些DFM文件。
在某些文件中,更改只是一些简单的属性,例如删除ItemHeight
或添加ExplicitLeft = 0
。
但是,在其他文件中,更改比删除整个object
声明更大,我可以在将dfm文件与D7进行比较时检查。
当我在XE2中从D7添加DFM的缺失部分时,它会保存而不会出现错误:
找不到类TGenReglas。忽略错误并继续?
我已经检查过并且TGenReglas在项目中,我甚至将其文件夹添加到项目路径中,以防万一。
保存并重新打开项目后,我的所有更改都不会保存。
我可以将DFM文件从D7复制到XE2中以解决这个问题或我该怎么做?
答案 0 :(得分:8)
基本的DFM格式在Delphi版本之间兼容。它是一个序列化的对象树,每个对象都有一组属性。
但是,保存的属性可以从一个版本更改为另一个版本。通常,将DFM从早期版本加载到较新版本是安全的,但不一定相反。 Explicit*
属性是Delphi 7之后添加的新内容的一个示例。
如果表单设计者抛出“未找到类”错误,则表示该表单是使用尚未在IDE中注册的组件保存的,因此IDE无法加载它。您需要找到该组件所在的包,并在IDE中找到它Install
。