2016-07-06 97 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

相關問題