2016-07-06 40 views
3

我有一个随应用程序一起提供的.hlp文件。
由于自上次编写应用程序以来功能没有改变,因此hlp(2003年编写)仍然有效。
但是,当我在Delphi XE7中编译应用程序时,我无法让应用程序识别hlp文件。如何在我的应用程序中使用hlp文件获取上下文相关帮助?

在.dpr文件我有

begin 
    Application.Initialize; 
    Application.HelpFile := 'Life32.hlp'; 
    Application.Run; 
    //sometimes the application hung here, due to OLE issues 
    //exitprocess prevents that. 
    ExitProcess(0); 
end. 

当我做

procedure TProgCorner.Button2Click(Sender: TObject); 
begin 
    Application.HelpContext(4); 
end; 

我得到

第一次机会异常在$ 75EEB9BC。异常类EHelpSystemException,消息'没有安装上下文相关的帮助'。

该表格的helpfile属性设置为exename.hlp
手动双击Explorer中的.hlp文件即可打开hlp文件。

如何在调用Delphi时打开hlp文件?

回答

4

您必须在项目中包含Vcl.WinHelpViewer单元以安装WinHelp系统。

警告WinHelp支持在XP及更高版本中结束,WinHelp组件必须单独安装。

+0

'在更高版本上必须安装WinHelp组件'在Windows中作为单独下载从MS安装?或者安装在delphi IDE中?我不知道,因为在我的W7系统上它刚刚开箱即用。顺便说一句WinHelpViewer和下面的调整修复了这个问题:'Application.HelpFile:= ExtractFilePath(Application.ExeName)+'Life32.hlp';' – Johan

+0

与ide无关。它从MS下载。您将已经将它安装在您的Win7盒子上。 –

+3

有一个修改后的安装脚本,它将在Win10上安装winhelp。请参阅http://answers.microsoft.com/en-us/windows/forum/apps_windows_10-winapps/winhlp32exe-on-windows-10/91e3366d-cc49-4e6d-b783-9d72b18f2947?auth=1并滚动,直到找到名字'Bahampour' – MartynA

相关问题