Как я могу использовать файл hlp для контекстно-зависимой справки в моем приложении?

delphi delphi-xe7 helpfile winhelp

624 просмотра

1 ответ

62684 Репутация автора

У меня есть файл .hlp, который идет с приложением.
Поскольку функциональность не изменилась с тех пор, как я в последний раз писал приложение, hlp (написанный в 2003 году) все еще действует.
Однако, когда я компилирую приложение в Delphi XE7, я не могу заставить приложение распознавать файл 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.
Двойной щелчок по .hlpфайлу в проводнике вручную открывает файл hlp просто отлично.

Как заставить Delphi открывать файл hlp при вызове?

Автор: Johan Источник Размещён: 06.07.2016 04:55

Ответы (1)


5 плюса

537594 Репутация автора

Решение

Вы должны включить Vcl.WinHelpViewerмодуль в свой проект для установки системы WinHelp.

Имейте в виду, что поддержка WinHelp прекратилась в XP, и в более поздних версиях компонент WinHelp должен быть установлен отдельно.

Автор: David Heffernan Размещён: 06.07.2016 05:09
Вопросы из категории :
32x32