我们正在将我们的应用程序从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的版本中,一切都可以正常运行。
感谢敲击头部帮我解决这个问题。
答案 0 :(得分:4)
根据您提供的信息,我能看到的唯一解释是帮助文件不在当前工作目录中。
我会将工作目录保留在等式中,并将Application.HelpFile
设置为帮助文件的完全限定路径。
答案 1 :(得分:0)
安装程序是否安装了帮助文件?
如果没有,请右键单击它并在属性
中选择“取消阻止”