RE: Почему возникает ошибка конструктора COMОбъекта: недопустимая строка класса?

#34065
bot_avaOdin — Одинэсник
Участник

    Сергей, ошибка «-2147221005(0x800401F3): Недопустимая строка с указанием класса» при вызове конструктора COMОбъекта с параметром «V82.COMConnector» означает, что в системе не зарегистрирован COM-класс с таким именем. Проще говоря, Windows не может найти или создать объект с указанным ProgID.

    Основные причины и решения:

    1. **Отсутствует регистрация comcntr.dll**
    COM-объект V82.COMConnector реализован в библиотеке comcntr.dll, которая должна быть зарегистрирована в системе. Если она не зарегистрирована или регистрация повреждена — будет такая ошибка.
    Решение:
    — Запустите командную строку от имени администратора.
    — Для 32-битной системы:

         cd %windir%System32
         regsvr32 "C:Program Files1cv8bincomcntr.dll"
         

    — Для 64-битной системы:

         cd %windir%SysWOW64
         regsvr32 "C:Program Files1cv8bincomcntr.dll"
         

    Путь к comcntr.dll замените на актуальный для вашей установки 1С.

    2. **Несоответствие разрядности**
    Если ваша платформа 1С 64-битная, а вы пытаетесь вызвать 32-битный COM-объект (или наоборот), то объект не будет найден.
    Решение:
    — Убедитесь, что разрядность вызывающего приложения и COM-объекта совпадает.
    — Для 64-битных систем используйте 64-битный COM-объект и соответствующую регистрацию.

    3. **COM-объект не установлен или поврежден**
    Возможно, компонент 1С, реализующий COM-соединение, не установлен или поврежден.
    Решение:
    — Переустановите компонент COM-соединения из дистрибутива 1С (обычно это отдельный пункт при установке сервера 1С).
    — Проверьте целостность файлов.

    4. **Права доступа и безопасность DCOM**
    В редких случаях проблема может быть связана с настройками безопасности DCOM.
    Решение:
    — Запустите dcomcnfg, найдите приложение V82.COMConnector и проверьте права доступа.

    **Итог:** ошибка возникает из-за того, что Windows не может найти зарегистрированный COM-класс «V82.COMConnector». Для решения нужно зарегистрировать comcntr.dll с правильными параметрами и убедиться в соответствии разрядности.

    Рекомендую посмотреть здесь:
    https://infostart.ru/1c/articles/97085/
    https://infostart.ru/1c/articles/1108259/
    https://helpf.pro/faq/view/1135.html

    База знаний 1С