6

我有一个与应用程序一起使用的 .hlp 文件。
因为自从我上次编写应用程序以来功能没有改变,所以 hlp(写于 2003 年)仍然有效。
但是,当我在 Delphi XE7 中编译应用程序时,我无法让应用程序识别 hlp 文件。

在 .dpr 文件中我有

begin
  Application.Initialize;
  Application.HelpFile := 'Life32.hlp';
  Application.Run;
  //sometimes the application hung here, due to OLE issues
  //exitprocess prevents that.
  ExitProcess(0);
end.

当我做

procedure TProgCorner.Button2Click(Sender: TObject);
begin
  Application.HelpContext(4);
end;

我明白了

第一次机会例外,$75EEB9BC。带有消息“未安装上下文相关帮助”的异常类 EHelpSystemException。

表单的helpfile属性设置为exename.hlp
在资源管理器中手动双击.hlp文件打开 hlp 文件就好了。

如何让 Delphi 在调用时打开 hlp 文件?

4

2 回答 2

6

您必须Vcl.WinHelpViewer在项目中包含该单元才能安装 WinHelp 系统。

请注意,WinHelp 支持在 XP 和更高版本中终止,必须单独安装 WinHelp 组件。

于 2016-07-06T17:09:14.943 回答
1

对于更高版本的 Delphi,如 10(西雅图)、10.1(柏林)、10.2(东京)、10.3(里约)和 10.4(悉尼):

  • 如果您的帮助文件是 WinHelp .hlp 文件,请将 Vcl.WinHelpViewer 单元添加到应用程序的使用子句中。
  • 如果您的帮助文件是 HTML 帮助 .chm 文件,请添加 Vcl.HtmlHelpViewer 单元而不是 Vcl.WinHelpViewer 单元。

您不应将这两个单元添加到同一个应用程序中。

全文:HelpScribble 的 HelpContext 属性编辑器

于 2021-09-17T06:49:39.410 回答