4

如何从 Delphi 7 程序中的 chm 文件中调用帮助?

Application.HelpFile := 'd:\help.chm';
Application.HelpCommand(HELP_CONTEXT, 10);

结果是

为什么我无法从该程序中获得帮助?

此程序的帮助是以 Windows 帮助格式创建的,这取决于此版本的 Windows 中未包含的功能。但是,您可以下载一个允许您查看以 Windows 帮助格式创建的帮助的程序。

有关详细信息,请访问 Microsoft 帮助和支持网站。

4

2 回答 2

6

问题在于,默认情况下,Delphi 7 假定帮助文件使用 Vista 未附带的旧 WinHelp 格式。即使您的帮助文件具有 .chm 扩展名,Delphi 也会尝试使用 WinHelp 命令显示它。而且由于 WinHelp 不存在,您会收到您报告的错误消息。

有多种方法可以让帮助系统显示 HTML 帮助。例如,一种常见的技术是实现对象的OnHelp处理程序Application并将帮助路由到对HtmlHelpAPI 的调用。我在最近的回答中给出了一个非常简单的例子。

于 2013-03-14T14:41:44.773 回答
0

要打开 CHM 文件,我使用以下代码:

    ShellExecute(Handle, 'open', PChar(ExtractFilePath(Application.ExeName) + 'help.chm'), nil, nil, SW_SHOW);
于 2013-03-20T09:27:11.120 回答