Top.Mail.Ru

Услуги программирования и консультирования в 1С

Ошибки при вызове конструктора COMObject. Как исправить

В этой статье речь пойдет об ошибках в COM-соединениях. Один из вариантов ошибки – это «Ошибка при вызове конструктора (COMObject): -2147221164(0x80040154): Класс не зарегистрирован…». Бывают и другие варианты сообщений, все я перечислять не буду, в большинстве случаев - это означает, что при установке платформы компонента comcntr.dll не смогла зарегистрироваться автоматически. COM - соединения используются в обменах между конфигурациями.

У меня в готовых решениях есть обработка загрузки сотрудников из ЗУП, в которой тоже используется COM - соединение и у пользователей тоже может появиться ошибка. В случае с моей обработкой, при проверке соединения, может появиться сообщение, что невозможно установить соединение с конфигурацией ЗУП.  Это может произойти, если Вы неправильно указали настройки подключения, неправильно настроены права пользователя, через которого Вы подключаетесь или чаще всего – проблема в компоненте comcntr.dll, которая при смене платформы автоматически не зарегистрировалась. Вот и рассмотрим, как ее зарегистрировать вручную.

Первое что нужно сделать, это запустить командную строку от имени администратора.

В командной строке Windows набираете cmd, в писке выбора появится программа с таким названием, устанавливаете курсор на эту программу и выбираете из контекстного меню «Запуск под администратором» (см. картинку ниже).

Запуск командной строки от имени администратора

Затем ввести команду (можно двумя способами):

1.      regsvr32 "C:\Program Files (x86)\1cv8[версия платформы]\bin\comcntr.dll"

2.      C:\Program Files (x86)\1cv8[версия платформы]\bin>regsvr32 comcntr.dll

 

Прежде чем ввести эти команды нужно переместиться по каталогам. Допустим, при запуске командной строки появляется совсем другой каталог, пример можно увидеть на картинке ниже.

командная строка

Для смены каталога нужно написать cd, после которого установить пробел, а затем указать тот путь, который нам нужен, например C:\Program Files (x86)\1cv8[версия платформы]\bin, затем после указания пути к каталогу нажимаете Enter. Смотрите пример смены каталога на картинке ниже.

смена каталога в cmd

Вот теперь рядом с каталогом можно ввести regsvr32 comcntr.dll, нажать Enter и зарегистрировать компоненту (смотрите пример на картинке ниже).

запуск regsvr3

Если все сделали правильно, то получите сообщение (см. картинку ниже).

успешное выполнение регистрации компоненты comcntr.dll

Если компоненту не удалось зарегистрировать, проверьте как вы запустили командную строку, возможно, что забыли запустить от имени администратора. Если все в порядке, то нужно отключить службу агента сервера 1С:Предприятия и все программы, использующие эту DLL. 

После сообщения об успешной регистрации, можно вновь запустить обмен или обработку, с которой у вас возникли проблемы.  

Каталог сайтов

Top.Mail.Ru