Обновление до HTMLHelpViewer в DELPHI XE (не удается найти HTMLHelpViewer.pas) - PullRequest
1 голос
/ 28 февраля 2011

Я обновляюсь с Delphi 6 до Delphi XE.В Delphi 6 я использовал файлы справки HTML (.chm) и использовал StoHtmlHelp, чтобы сделать так, чтобы я мог вызывать контекстно-зависимую помощь, как мы использовали для вызова файлов .hlp.Я обновляюсь до Delphi XE, поэтому мне нужно использовать поддержку HTML.

Я знаю, что должен добавить HTMLHelpViewer к предложению использования проекта, но когда я это получаю, я получаю предупреждение компилятора, что он не может найти файл.

Не удалось скомпилироватьподержанный модуль 'HTMLHelpViewer.pas'

Кто-нибудь знает, почему Delphi не находит этот файл по умолчанию?Должно быть встроено.

Ответы [ 2 ]

7 голосов
/ 28 февраля 2011

Невозможность скомпилировать файл и не найти файл - это не одно и то же. Если Delphi пытается скомпилировать HTMLHelpViewer.pas, вы должны либо:

  • укажите путь к исходным папкам vcl в пути к вашей библиотеке (не рекомендуется) или
  • другой файл HTMLHelpViewer.pas находится где-то в пути к вашей библиотеке, этот путь находится перед стандартной папкой lib Delphi, и этот файл HTMLHelpViewer.pas содержит что-то, что Delphi XE не устраивает.

Первое маловероятно, и было бы очень странно, если бы Delphi не смог скомпилировать один из своих модулей (кроме system.pas).

Второе кажется более вероятным ... И если этот модуль использовался для компиляции, жалобы от Delphi XE вполне могли быть связаны с различиями между Delphi 6 и Delphi XE.

3 голосов
/ 01 марта 2011

На самом деле вам не нужно добавлять его в пункт использования файла .dpr - вам просто нужно использовать его из какого-то модуля в вашем проекте.

Сказав это, вы можете предпочесть добавить его в свой файл .dpr, а если это так, то сделать это так:

uses
  Forms,
  HtmlHelpViewer,
  MyUnit in 'MyUnit.pas',

Я предполагаю, что у вас есть что-то вроде этого:

uses
  Forms,
  HtmlHelpViewer in 'C:\Program Files\Borland\Delphi6\Source\VCL\HtmlHelpViewer.pas',
  MyUnit in 'MyUnit.pas',

Это не удастся, потому что вы просите XE скомпилировать исходный код D6.

Для блоков RTL / VCL лучше не указывать путь к файлу и позволить компилятору найти его (он знает, где искать).

...