如何在Delphi表单中添加注释

5
我想为自动生成的表单(dfm)文件添加一些注释。在pas中,我们可以使用//或{}进行注释,但是如何在dfm中添加注释呢?
是否有可能添加注释?我尝试在dfm的末尾添加注释,但当我重新打开时注释就被删除了。
谢谢帮助。
3个回答

9

不,这是不可能的。DFM文件只是对象结构的表示。通常情况下,你不应该直接读取或写入任何DFM文件(除非你确切知道自己在做什么)。早期版本的Delphi使用内部二进制格式的DFM文件,可以通过更改设置来实现。在其中也没有评论的位置。

更新: 您仍然可以在PAS文件中控件声明的上方编写文档。


2
Delphi仍然支持以二进制格式存储DFM文件。通常情况下,由于DFM文件往往存储在版本控制系统中,因此使用文本格式通常更为常见,这样可以在需要时进行差异比较。 - Remy Lebeau

3

已发布的组件属性将被写入DFM文件,并且IDE将管理整个过程。DFM中的任何不支持的内容将在下次IDE打开表单时被丢弃,这是您已经观察到的。

解决方法: 如果您只想向少量组件添加注释,可以轻松编写一个组件包装器并添加一个新的已发布属性,您可以通过属性编辑器添加注释。这是一种笨拙的解决方法,但可行...缺点是你的注释会编译到EXE中。


3
同样的方法:在表单上放置一个组件,如按钮或备忘录,并将其 Visible 属性设置为 False。然后你可以将你的注释嵌入到 .Caption 或 .Lines 属性中。就像 James L 的解决方案一样,该注释将与程序一起发布。当在 IDE 中查看表单时,该组件会增加一些混乱。(这甚至可能是一种优势。例如,如果你将你的注释嵌入到备忘录中,则可以直接在 IDE 中阅读它。) - RobertFrank

0

在 Delphi 7 之前,有一个基本的设计界面,可以在上面放置注释。它保存为单独的文件。我忘记了它的名称,也不知道它是仅适用于非可视化设计师还是适用于表单/框架设计师。

从 Delphi 2005 开始,这个功能已经不存在了。

最简单的方法是编写一个小型的非可视组件 TComment,它具有类型为 TStringsLines 属性,其中存储注释,甚至可能还有一个 Component 属性,可以链接到目标组件以供注释使用。

每个 DFM 都会被编译成二进制版本,并链接到您的 EXE 中(这是 IDE 仍然支持二进制 DFM 文件的原因之一;另一个原因是向后兼容性)。

这意味着像这样的注释也将出现在您的 EXE 中。


1
*.ddp?在我看来它仅适用于D7。我不记得在D5中有那种垃圾。 - Arioch 'The
这样一个组件,字符串持有者,在RxLib/JediVCL中已经存在了。但它不仅可以制作成.EXE文件,而且是全局的。就像在单元顶部进行注释一样。这样的注释无法附加到DFM中的特定数据行。 - Arioch 'The
@Arioch'The 你是对的,那是Delphi 6和7中可用的Diagram Editor扩展:http://filext.com/file-extension/DDP 感谢提到JediVCL/RxLib; 在那里添加一个组件引用属性应该不难。 - Jeroen Wiert Pluimers

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