Как исправить поврежденную контекстно-зависимую справку в IDE Delphi 2010
Спустя некоторое время моя справочная система D2010 сломалась.
Выделение ключевого слова, такого как TStringList, и нажатие клавиши F1 приводит к сообщению "Справка не найдена для контекста".
Если поместить курсор в поле свойства (например, ModalResult) в редакторе свойств и нажать клавишу "F1", то появятся песочные часы, и все.
При щелчке по главному меню справки IDE, а затем Delphi Help работает. Я могу ввести TStringList в поле поиска (в появившемся Microsoft Document Explorer, загруженном "Что нового - Embarcadero RAD Studio") и получить соответствующие результаты.
У кого-нибудь есть предложения, как это исправить?
6 ответов
Вы можете улучшить ситуацию, перестроив файлы справки.
Откройте командную строку и перейдите в папку $(BDS)\Help\Doc. Бежать H2Reg -u
отменить регистрацию существующих разделов справки, а затем запустить H2Reg -r
перерегистрировать. Затем запустите справку, и вы должны получить диалоговое окно, в котором говорится, что оно индексирует контент.
Если вы хотите больше информации о H2Reg.exe, просто запустите его без параметров из командной строки; появится диалоговое окно с подробной информацией о параметрах командной строки и их действиях. Вы также должны отсканировать через H2Reg.ini, так как он содержит комментарии к каждому разделу и то, что он влияет на вещи.
Кроме того, помощь в XE значительно улучшена, хотя ей еще предстоит пройти путь.
Я знаю 3 причины этой проблемы:
1 - По какой-то причине, если у вас не получается подключиться к Интернету, когда Rad Studio пытается загрузить справку, происходит сбой справки, и вам нужно будет закрыть и снова открыть Delphi.
2 - Другая причина в том, что вы можете получить поврежденную справку (это происходит, когда вы устанавливаете некоторые исправления от Microsoft, например, для Windows 7 sp1). Единственный способ в этом случае - переустановить справку (посмотрите Delphi).
3 - Это иногда случается, когда вы нажимаете F1, когда delphi пытается обновить редактор (поэтому избегайте этого).
Вы также должны быть уверены, что у вас есть все исправления delphi (справочные исправления исправляют множество проблем).
Но я скажу вам: система помощи Delphi действительно плохая (не помощь, а ее интеграция с Delphi).
В Delphi XE я решил проблему, используя этот подход:
- Выход из Delphi XE
- Перейдите в папку "Embarcadero\RAD Studio\8.0\Help\Doc"
- Переместите файлы rad.hxs, vcl.hxs и codeex.hxs в другую папку (если запущен dexplore.exe, возможно, вам придется его остановить)
- Запустите Delphi XE и попробуйте помощь F1 снова (для меня это еще не сработало)
- Выход из Delphi XE
- Остановите dexplore.exe, если он работает
- Скопируйте эти три файла обратно в "Embarcadero\RAD Studio\8.0\Help\Doc"
- Перезапустите Delphi XE и попробуйте снова помощь F1 (теперь он должен работать как положено)
У меня работает следующий пакетный файл (без закрытия Delphi):
REM Kill running instances of Microsoft Document Explorer
taskkill /f /im dexplore.exe
REM Go to the Delphi Help Files folder
IF EXIST "%programfiles%\Embarcadero\RAD Studio\8.0\Help\Doc" PUSHD "%programfiles%\Embarcadero\RAD Studio\8.0\Help\Doc"
IF EXIST "%programfiles(x86)%\Embarcadero\RAD Studio\8.0\Help\Doc" PUSHD "%programfiles(x86)%\Embarcadero\RAD Studio\8.0\Help\Doc"
REM Unregister Delphi Help Files
h2reg.exe -u
REM Register Delphi Help Files
h2reg.exe -r
Методы использования h2reg.exe не работали для моего случая (RAD Studio XE3). Мне нужно несколько часов, чтобы найти свое решение. Основной причиной моей проблемы является сломанный Microsoft Document Explorer 2008. Я пытаюсь восстановить его из Панели управления -> Удалить приложение. Конечно, вы можете удалить его и установить обратно из многих источников, включая справочную систему RAD studio.
Попробуйте это, если другие способы не работают.
У меня возникла та же проблема, но исправление H2Reg никогда не работало для меня.:(Я попытался запустить Delphi RAD Studio XE2 в качестве администратора, хотя моя учетная запись пользователя уже была настроена как администратор, и протестировал F1, включая контекстную справку. Все работало, как и ожидалось:) После этого я закрыл Delphi, отключив опцию Запуск от имени администратора Открыл Delphi, и помощь сработала идеально.:)