我們正在將應用程序從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