delphi - 为 Delphi 应用程序设置帮助

标签 delphi

为 Delphi 应用程序设置帮助(特别是 HTML Help )的最佳方法是什么?我可以看到几种选择,但它们都有缺点。具体来说:

  1. 我可以在表单设计器中适本地设置 HelpContext,但随后我不得不跟踪数字而不是符号常量。
  2. 我可以通过编程方式设置 HelpContext。然后我可以使用符号常量,但我需要编写更多代码,而且我无法轻松检查文本 DFM 以了解哪些表单仍需要帮助。
  3. 我可以设置 HelpKeyword,但由于它执行关键字查找(如 Application.HelpKeyword)而不是主题跳转(如 Application.HelpJump),因此我必须确保每个帮助页面都有一个唯一的、不变的顶级关键字;这似乎是额外的工作。 (还有与 HelpKeyword 相关的 VCL 错误,例如 thisthis。)
  4. 我可以设置 HelpKeyword,设置一个 Application.OnHelp 处理程序以将 HelpKeyword 请求转换为 HelpJump 请求,以便我可以通过主题 ID 而不是关键字查找来分配帮助,并添加代码,例如我自己的帮助查看器(基于 HelpScribble's code) )修复了 VCL 错误并让 HelpJump 使用 anchor 。不过,到目前为止,我觉得我是在反对 VCL,而不是与它合作。

您为您的应用选择了哪种方法?

最佳答案

几年前,当我第一次开始研究如何做到这一点时,我首先从以下位置获得了“关于 Borland Delphi 中的帮助文件”教程:http://www.ec-software.com/support_tutorials.html

在该文档中,“为上下文相关帮助准备帮助文件”部分(在我的文档版本中从第 28 页开始)。它描述了一个很好的编号方案,您可以使用它来将数字组织成多个部分,例如主表单从 100000 开始,每个辅助表单从 101000 或 110000 开始,依此类推。

但是后来我想在我的帮助主题中使用描述性字符串 ID 而不是数字。我开始使用 THelpRouter,它是 EC Software 的免费帮助套件的一部分,网址为: http://www.ec-software.com/downloads_delphi.html

但后来我选择了一个直接支持主题字符串 ID 的帮助工具(我使用 Dr.Explain: http://www.drexplain.com/ ),所以现在我只需使用 HelpJump,例如:

Application.HelpJump('UGQuickStart');

希望对您有所帮助。

关于delphi - 为 Delphi 应用程序设置帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/658193/

相关文章:

image - 如何调整图片大小?

php - 在zlib_decode()之后获取压缩的字节大小?

delphi - 将脚本集成到delphi中

delphi - Delphi 2010 IDE可以为项目添加相对搜索路径吗

delphi - 如何在 Oxygene 中将字符串转换为整数

delphi - DLL 中的 VCL 风格问题

delphi - 如何更改 Delphi 中主菜单项的字体大小?

delphi - 如何最好地在 DWScript 中公开类实例

在 Delphi 10.3 IDE 中运行时,Sqlite Firedac 数据库始终锁定 - 编译的可执行文件工作正常

windows - Delphi自删除程序