我想为自动生成的表单(dfm)文件添加一些注释。在pas中,我们可以使用//或{}进行注释,但是如何在dfm中添加注释呢?
是否有可能添加注释?我尝试在dfm的末尾添加注释,但当我重新打开时注释就被删除了。
谢谢帮助。
是否有可能添加注释?我尝试在dfm的末尾添加注释,但当我重新打开时注释就被删除了。
谢谢帮助。
不,这是不可能的。DFM文件只是对象结构的表示。通常情况下,你不应该直接读取或写入任何DFM文件(除非你确切知道自己在做什么)。早期版本的Delphi使用内部二进制格式的DFM文件,可以通过更改设置来实现。在其中也没有评论的位置。
更新: 您仍然可以在PAS文件中控件声明的上方编写文档。
已发布的组件属性将被写入DFM文件,并且IDE将管理整个过程。DFM中的任何不支持的内容将在下次IDE打开表单时被丢弃,这是您已经观察到的。
解决方法: 如果您只想向少量组件添加注释,可以轻松编写一个组件包装器并添加一个新的已发布属性,您可以通过属性编辑器添加注释。这是一种笨拙的解决方法,但可行...缺点是你的注释会编译到EXE中。
在 Delphi 7 之前,有一个基本的设计界面,可以在上面放置注释。它保存为单独的文件。我忘记了它的名称,也不知道它是仅适用于非可视化设计师还是适用于表单/框架设计师。
从 Delphi 2005 开始,这个功能已经不存在了。
最简单的方法是编写一个小型的非可视组件 TComment
,它具有类型为 TStrings
的 Lines
属性,其中存储注释,甚至可能还有一个 Component
属性,可以链接到目标组件以供注释使用。
每个 DFM 都会被编译成二进制版本,并链接到您的 EXE 中(这是 IDE 仍然支持二进制 DFM 文件的原因之一;另一个原因是向后兼容性)。
这意味着像这样的注释也将出现在您的 EXE 中。