Мы переносим наше приложение на Delphi XE2 из Delphi 6. Проблема в том, что файл справки не будет отображаться независимо от того, что я пытаюсь.
Использование Delphi XE2 (обновление 3) на Win 7 64.
Используя действительный файл справки (.chm), который работает с моим приложением, созданным в Delphi 6.
Я создаю простое приложение с одной кнопкой, которое вызывает помощь таким образом:
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 впроект (БОЛЬШОЙ проект), который конфликтует со встроенным модулем HTMLHelpViewer, который поставляется с Delphi XE2.
Как только я ударил нашу версию этого файла и удалил его с жесткого диска и добавил в версию Delphi, все работает плавно.
Спасибо за удар по голове, чтобы помочь мне понять это.