如何在Delphi 7中使用chm?

时间:2013-03-14 11:38:06

标签: delphi delphi-7 chm

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

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

结果是

  

为什么我不能从这个程序中获得帮助?

     

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

     

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

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:0)

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

    ShellExecute(Handle, 'open', PChar(ExtractFilePath(Application.ExeName) + 'help.chm'), nil, nil, SW_SHOW);