最佳方式设置Delphi应用程序的帮助(特别是HTML Help)是什么?我可以看到几个选项,但都有缺点。具体如下:
- 我可以在表单设计器中适当设置HelpContext,但这样我就必须跟踪数字而不是符号常量。
- 我可以以编程方式设置HelpContext。然后我可以使用符号常量,但我需要更多的代码进行跟踪,并且我不能轻松地检查DFM文本以查看哪些表单仍需要帮助。
- 我可以设置HelpKeyword,但由于它执行关键字查找(例如Application.HelpKeyword)而不是主题跳转(例如Application.HelpJump),因此我必须确保我的每个帮助页面都有一个唯一的、不变的顶级关键字;这似乎是额外的工作。(还有HelpKeyword相关的VCL错误,如this和this。)
- 我可以设置HelpKeyword,设置一个Application.OnHelp处理程序将HelpKeyword请求转换为HelpJump请求,以便我可以按主题ID分配帮助,而不是关键字查找,并添加自己的帮助查看器的代码(基于HelpScribble's code),该查看器修复了VCL错误并使HelpJump与锚点一起工作。但到这个时候,我感觉我正在对抗VCL而不是与之合作。
你选择了哪种方法来开发你的应用程序?