防止Delphi 10.2自动向TForm添加属性

防止Delphi 10.2自动向TForm添加属性,delphi,dfm,Delphi,Dfm,我有一个我正在开发的代码库,它在Delphi5和Delphi10.2中都可以使用,直到我们把所有东西都转换成D10 每当我在10.2中打开DFM文件并保存它时,它都会自动将DesignSize属性添加到TForm。此属性在D5中不存在,因此每次在D5中打开相同的DFM时都会出现错误 有没有办法防止D10自动更新DFM?或者这是不可能的?您可以在需要时使用实用程序清除它们。包括一个名为DFM Cleaner的实用程序,用于执行此操作。在安装JVCL后,In将以$(JVCL)\DevTools结束

我有一个我正在开发的代码库,它在Delphi5和Delphi10.2中都可以使用,直到我们把所有东西都转换成D10

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


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

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

DFMCleaner是一种从DFMs中删除不支持的属性的工具。如果 您将dfm文件保存在一个版本的Delphi中,并希望在 早期版本中可能存在一些不受支持的属性 它会在Delphi中打开表单时生成错误。什么是偶数 更糟糕的是,如果dfm是设计时包的一部分,Delphi将 在尝试访问表单时安装程序包,无错误 在设计时(如果表单由属性编辑器使用,则为f ex),Delphi 而是生成一个AV


让DFM只读怎么样?只有在将某些子组件设置为Align=alNone和锚定[akLeft,akTop]时,才会写入DesignSize属性。也许你可以避免这种组合。@Uwe这是个不错的主意。我所能想到的唯一问题是,在对dfm进行更改时,必须使其可写,这一点并不经常发生。@Uwerabe:这种组合很难避免!我一直使用它来调整对话框的大小。