如何让Delphi重新保存所有窗体?

8
组件升级后,一些属性会以不同的方式存储,但只有下次保存表单时才会生效。这意味着当我编辑一个在使用组件的旧版本最后保存的表单时,我的实际更改会被组件升级所导致的差异所掩盖。我可以将它们拆分成单独的提交,但这样我需要一直注意这些问题,并且组件升级的影响将散布在仓库的历史记录中。相反,我希望在升级组件后立即将这些更改捆绑在一个单独的提交中。
为了实现这个目标,我需要强制 Delphi 重新保存(生成)项目(组)中的所有表单,即使在编辑器中没有进行任何更改,这样唯一的文件更改将是由于组件升级而引起的。到目前为止,我甚至没有成功地让单个表单发生这种情况,而不需要打开它,进行更改并撤消 - IDE 似乎会尽量减少写入磁盘;仅仅是“全部保存”而不触及所有单位是不够的。最终,我需要一次性完成尽可能多的表单操作,而打开它们所有的编辑器是行不通的,因为有数百个表单...我可以编写一些 AutoIt 脚本来完成所有我需要手动完成的操作,但我希望有一些聪明的方法,不需要编写 IDE 的脚本。

1
@downvoter 感谢您的反馈。 - Thijs van Dien
5
看起来DFMCheck是你正在寻找的:http://andy.jgknet.de/blog/ide-tools/dfmcheck/ - Uwe Raabe
1
除非您编写了一个IDE专家,否则没有其他方法可以做到这一点。这比尝试使用GUI自动化工具要好。DFMCheck可能会帮助您识别无效的dfm文件,但它不能修复它们。如果您学会了如何编写IDE专家,您或许可以在专家内以编程方式解决此问题。 - Warren P
4
DFMCheck 不仅限于检查破损的 DFM 文件,它还有一个“打开/关闭所有窗体”的功能,我自己使用它来将 DFM 文件与组件更改同步。 - Andreas Hausladen
2
@ThijsvanDien 新版本已发布:http://andy.jgknet.de/blog/ide-tools/dfmcheck/ - Andreas Hausladen
显示剩余6条评论
1个回答

0

既然没有人想要得到荣誉,那就给你了。 - Thijs van Dien
1
DFMCheck的主页已经迁移:https://www.idefixpack.de/blog/ide-tools/dfmcheck/ - Brian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接