【发布时间】:2012-03-02 07:47:17
【问题描述】:
我最近修改了我的一个组件,碰巧它不再使用它以前使用的属性之一。
但是,这些属性是在整个项目的多个 .dfm 文件中编写的。 现在,当我尝试编译项目时,我得到 “读取错误。:属性 <...> 不存在”
复杂的部分是属性值是二进制数据(存储在多行中),我不能用 Delphi replace 或 notepad++ regexp 删除它(因为它们是基于单行的)。
所以我的问题是:
是否有任何第三方工具或方法可以轻松地从多个 .dfm 文件中删除属性?
【问题讨论】:
-
如果你打开你的dfm并再次保存,无效的属性不会被删除吗?看起来很奇怪..
-
@teran 问题首先是打开 .dfm 文件。流式代码将反对 .dfm 文件读取点。
-
@DavidHeffernan 我认为 IDE 要求使用二进制字段“忽略”或“删除”不正确的属性。例如:我将
TAdvGlowButton(来自TMS)放在表单中,然后在我以文本形式打开表单(alt+f12)后替换表单类中的字段定义(button1 : TButton),并将TAdvGlowButton替换为@987654324 @ (当然 TMS 按钮比标准按钮具有更多的属性)。因此,现在 DFM 具有无效属性。如果我尝试打开表单,IDE 会询问“忽略错误并继续?”,如果我按 Ok,则会删除无效属性。 -
@teran 也许我还记得过去。我总是让我的组件能够默默地处理这一切。
标签: regex delphi properties delphi-2006 dfm