我们正在将应用程序从Delphi 6移植到Delphi XE2中。问题是,无论我尝试什么,帮助文件都不会显示。无法在Delphi XE2应用程序中显示.chm帮助文件 - 为什么?
在Win 7 64
用Delphi XE2(更新3)使用与我的德尔福6内置的应用程序工作的有效帮助文件(的.chm)。
我创建一个按钮调用正是如此帮助下,简单的应用程序:
Application.HelpFile := 'Help.chm';
if Application.HelpFile <> '' then begin
Application.HelpContext(0);
end;
我有HTMLHelpViewer在我的使用条款。
帮助文件与应用程序位于同一目录中。当我点击按钮帮助文件不显示!我什么也没看见。没有错误。
我尝试了几个不同的帮助文件,所有这些文件都是有效的,我可以通过资源管理器打开。
我也试过直接调用表的内容是这样的:
HtmlHelp(0, Application.HelpFile, HH_DISPLAY_TOC, 0);
没什么要么显示这种方式。
我在这里错过了什么?如果我在用户按F1键时无法显示帮助文件,这是一个显示停止。
------编辑 - 问题解决! ------
叹息,我是个白痴,但只是部分。 :)
简单的应用程序确实有帮助文件在错误的目录中。新的Delphi XE2在子目录中具有默认输出,而不是像Delphi 6那样的原始目录。我现在被这两次咬了。 :)
所以,一旦我想出这个问题,我不得不回到原来的应用程序,并找出一个。
事实证明,我们在项目中有自己的HTMLHelpViewer.pas单元(BIG项目),并且与Delphi XE2附带的内置HTMLHelpViewer单元发生冲突。
一旦我打开我们的文件的版本,并从硬盘驱动器中删除它,并在德尔福的版本中添加一切运作顺畅。
感谢您的敲门声,帮助我弄清楚这一点。
本地驱动器上或网络驱动器上的chm?有一个安全功能可以防止从非本地驱动器打开chm文件... – ain 2012-02-09 15:56:08
@ain发生这种情况时,会出现一个窗口,但缺少帮助内容 – 2012-02-09 16:13:40
您已经找到它了,但除此之外,在Application.HelpFile中指定完全限定的路径可能并不会造成任何影响。 – 2012-02-09 16:38:55