#delphi #delphi-xe7 #delphi-10.1-berlin
#delphi #delphi-xe7 #delphi-10.1-berlin
Вопрос:
Недавно я установил Delphi Berlin. Не сработало, поэтому я удалил его в тот же день. Теперь мой Delphi XE7 перестал работать. Я получаю эту ошибку, когда пытаюсь что-либо скомпилировать, и я не знаю, как это исправить.
Невозможно привести COM-объект типа ‘System.__ComObject’ к типу интерфейса ‘Borland.Студия.Взаимодействие.IInteropMessageService’. Эта операция завершилась неудачно, поскольку вызов QueryInterface для COM-компонента для интерфейса с IID ‘{FF877130-F96F-3885-9A3E-3093A3C1D831}’ завершился неудачно из-за следующей ошибки: Ошибка загрузки библиотеки типов / DLL. (Исключение из HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY))
Ошибка такая же, как показано выше. Исходный файл не указан.
Я уже пытался использовать «исправление», предоставленное Embarcadero, но их инструмент не будет работать:
C:DelphiDelphi XE7bin>tregsvr -t Borland.Studio.Interop.tlb
Embarcadero Turbo Register Server(32) -- COM Server Registration utility.
Version 1.3 Copyright (c) 1997-2010 Embarcadero Technologies, Inc.
Type library name: C:DelphiDelphi XE7binBorland.Studio.Interop.tlb
Type library GUID: {F939BACD-3FD5-437A-833F-BA3535A45966}
Error: Error accessing the OLE registry
ИСПРАВЛЕНИЕ (предложено @rruz): вышеуказанная утилита должна запускаться с правами администратора (повышенными). Спасибо @RRuz.
Комментарии:
1. Обратитесь к поставщику за поддержкой. Или попробуйте поиск в Интернете.
2. Мы все знаем, как быстро Embarcadero отвечает на вопросы службы поддержки. Обычно кто-нибудь указывает на причину ошибки в течение нескольких часов при StackOverflow. Это может занять более одной-двух недель, чтобы исправить это с помощью embarcadero.
3. Удивительно, что вы спросили перед поиском.
4. @david — ты имеешь в виду Борланд tregsvr -t. Студия. Хитрость Interop.tlb? Не будет работать. Это выдает мне «Ошибка: ошибка доступа к реестру OLE»
5. Вы запускаете команду
tregsvr -t Borland.Studio.Interop.tlb
с повышенного cmd.exe ?
Ответ №1:
У меня была такая же проблема, но она была немного хуже.
Мне также пришлось зарегистрировать эту библиотеку типов, используя следующую команду. Запустите это с повышенными правами:
tregsvr -t Borland.Studio.ToolsAPI.tlb
Вероятно, это вызвано перемещением установки Delphi в другую папку, изначально установленную в неправильной папке, мастер миграции решает некоторые из них, но, по-видимому, не все, теперь переименование снова работает.
Машина немного вялая, вероятно, вызвана тем, что process monitor все еще работает, к счастью, в новой версии этот инструмент работал, что позволило мне найти эту проблему.
Этот инструмент показывает все запрошенные разделы реестра … и этот конкретный инструмент выскочил как «имя не найдено».
Я сделал это следующим образом:
- Включить события захвата
- Очистить экран.
- Очень быстро перейдите к рефакторингу-переименовать
Немедленно прекратите захват событий.
Затем проанализируйте журнал 😉
Комментарии:
1. Попробовал это, но в этом ответе упоминается неправильный TLB (для этой ситуации). Так и должно быть
tregsvr -t Borland.Studio.Interop.tlb
. Однако я могу представить, что другой tlb нуждается в (повторной) регистрации в других ситуациях.
Ответ №2:
- Откройте командную строку от имени администратора.
- Перейдите в папку, в которой установлена ваша текущая версия Delphi (пример «c:DelphiSydneybin «)
- Запустите «tregsvr -t Borland.Студия.Interop.tlb»