1

我有一个正在编写的代码库,它可以在 Delphi 5 和 Delphi 10.2 中运行,直到我们将所有内容都转换为 D10。

每当我在 10.2 中打开一个 DFM 文件并保存它时,它都会自动将一个DesignSize属性添加到TForm. D5 中不存在此属性,因此每次在 D5 中打开相同的 DFM 时都会出错。

有什么办法可以防止 D10 自动更新 DFM?或者这是不可能的?

4

1 回答 1

2

您可以在需要时使用实用程序清除它们。JVCL包括一个名为 DFM Cleaner 的实用程序,它可以执行此操作。安装 JVCL 后,在 $(JVCL)\DevTools 中结束。

DFMCleaner是一个从 DFM 中删除不受支持的属性的工具。如果您将 dfm 文件保存在某个版本的 Delphi 中并希望在较早的版本中使用它,则其中可能存在一些不受支持的属性,在 Delphi 中打开表单时会产生错误。更糟糕的是,如果 dfm 是设计时包的一部分,Delphi 将安装包而不会出错,但是当您尝试在设计时访问表单时(如果表单由属性编辑器使用),Delphi而是生成一个 AV。

于 2018-08-23T16:42:14.850 回答