如何在我的应用程序中使用 hlp 文件获取上下文相关帮助?
How can I use a hlp file for context sensitive help in my application?
我有一个与应用程序一起使用的 .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;
我明白了
First chance exception at EEB9BC. Exception class EHelpSystemException with message 'No context-sensitive help installed'.
表格的helpfile
属性设置为exename.hlp
.
在资源管理器中手动双击 .hlp
文件即可打开 hlp 文件。
如何让 Delphi 在调用时打开 hlp 文件?
您必须在项目中包含 Vcl.WinHelpViewer
单元才能安装 WinHelp 系统。
请注意,WinHelp 支持在 XP 和更高版本上结束,WinHelp 组件必须单独安装。
对于 Delphi 的更高版本,例如 10(西雅图)、10.1(柏林)、10.2(东京)、10.3(里约)和 10.4(悉尼):
- 如果您的帮助文件是 WinHelp .hlp 文件,请将 Vcl.WinHelpViewer 单元添加到应用程序的使用子句中。
- 如果您的帮助文件是 HTML 帮助 .chm 文件,请添加 Vcl.HtmlHelpViewer 单元而不是 Vcl.WinHelpViewer 单元。
您不应将两个单元添加到同一个应用程序。
我有一个与应用程序一起使用的 .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;
我明白了
First chance exception at EEB9BC. Exception class EHelpSystemException with message 'No context-sensitive help installed'.
表格的helpfile
属性设置为exename.hlp
.
在资源管理器中手动双击 .hlp
文件即可打开 hlp 文件。
如何让 Delphi 在调用时打开 hlp 文件?
您必须在项目中包含 Vcl.WinHelpViewer
单元才能安装 WinHelp 系统。
请注意,WinHelp 支持在 XP 和更高版本上结束,WinHelp 组件必须单独安装。
对于 Delphi 的更高版本,例如 10(西雅图)、10.1(柏林)、10.2(东京)、10.3(里约)和 10.4(悉尼):
- 如果您的帮助文件是 WinHelp .hlp 文件,请将 Vcl.WinHelpViewer 单元添加到应用程序的使用子句中。
- 如果您的帮助文件是 HTML 帮助 .chm 文件,请添加 Vcl.HtmlHelpViewer 单元而不是 Vcl.WinHelpViewer 单元。
您不应将两个单元添加到同一个应用程序。