Невозможно отобразить файл справки .chm в приложении Delphi XE2 - почему? - PullRequest
1 голос
/ 09 февраля 2012

Мы переносим наше приложение на 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, все работает плавно.

Спасибо за удар по голове, чтобы помочь мне понять это.

Ответы [ 2 ]

4 голосов
/ 09 февраля 2012

Единственное объяснение, которое я вижу, учитывая предоставленную вами информацию, заключается в том, что файл справки не находится в текущем рабочем каталоге.Application.HelpFile - полный путь к файлу справки.

0 голосов
/ 09 февраля 2012

Был ли установочный файл установлен инсталлятором?

Если нет, щелкните его правой кнопкой мыши и выберите «разблокировать» в свойствах

...