无法在Delphi XE2应用程序中显示.chm帮助文件 - 为什么?

时间:2012-02-09 14:39:12

标签: delphi delphi-xe2 chm

我们正在将我们的应用程序从Delphi 6移植到Delphi XE2。问题是,无论我尝试什么,帮助文件都不会显示。

在Win 7 64上使用Delphi XE2(Update 3)。

使用与我的Delphi 6构建的应用程序一起使用的有效帮助文件(.chm)。

我创建了一个简单的应用程序,只有一个按钮可以调用帮助:

  Application.HelpFile := 'Help.chm';
  if Application.HelpFile <> '' then begin
    Application.HelpContext(0);
  end;

我的uses子句中有HTMLHelpViewer。

帮助文件与应用程序位于同一目录中。当我点击按钮时,不显示帮助文件!我什么也没看见。没有错误。

我尝试了几个不同的帮助文件,所有这些文件都有效,我可以通过资源管理器打开。

我也尝试直接调用目录:

HtmlHelp(0, Application.HelpFile, HH_DISPLAY_TOC, 0);

也没有以这种方式显示。

我在这里错过了什么?如果用户点击F1键时无法显示帮助文件,则显示停止。

------编辑 - 问题解决了! ------

叹了口气,我是个白痴,但只是部分。 :)

简单的应用程序确实将帮助文件放在了错误的目录中。新的Delphi XE2在子目录中具有默认输出,而不是像Delphi 6那样的原始目录。我现在被两次咬了。 :)

所以,一旦我发现了这个问题,我就不得不回到原来的应用程序并想出那个。

事实证明我们在项目(BIG项目)中有自己的HTMLHelpViewer.pas单元,并且与Delphi XE2附带的内置HTMLHelpViewer单元冲突。

一旦我打破了我们的文件版本并将其从硬盘驱动器中删除并添加到Delphi的版本中,一切都可以正常运行。

感谢敲击头部帮我解决这个问题。

2 个答案:

答案 0 :(得分:4)

根据您提供的信息,我能看到的唯一解释是帮助文件不在当前工作目录中。

我会将工作目录保留在等式中,并将Application.HelpFile设置为帮助文件的完全限定路径。

答案 1 :(得分:0)

安装程序是否安装了帮助文件?

如果没有,请右键单击它并在属性

中选择“取消阻止”