Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 30, 2022 09:56:58

zegsoft
Зарегистрирован: 2022-11-30
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

pywin32 не видит 32-х битный COM-сервер

Всем добрый день!
Мне нужно подключиться к 32-х битному COM-серверу.
ОС: Windows 10 x64.
Устанавливаю Python 3.11 (32-bit).
Устанавливаю pywin32:

 pip install pywin32
судя по логам устанавливается 32-х битная версия:
 pywin32-305-cp311-cp311-win32.whl (11.0 MB)

Пытаюсь получить доступ к COM-объекту:

 import win32com.client
rastr = win32com.client.Dispatch("Astra.Rastr")

Получаю ошибку:
pywintypes.com_error: (-2147221005, ‘Недопустимая строка с указанием класса’, None, None)


Нужная мне программа имеет и 64-х битную версию. Когда я ее устанавливаю, все работает отлично. Но мне нужна именно 32-х битная версия.

Вопрос: почему я не могу получить доступ к 32-х битной версии COM-объекта из 32-х битной версии Питона и 32-х битной версии pywin32? Кто-нибудь сталкивался с этим? В какую сторону мне копать?

Отредактировано zegsoft (Ноя. 30, 2022 09:57:41)

Офлайн

#2 Ноя. 30, 2022 12:49:01

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2586
Репутация: +  60  -
Профиль   Отправить e-mail  

pywin32 не видит 32-х битный COM-сервер

А сам СОМ обьект создан для 32 битной архитектуры?



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Ноя. 30, 2022 13:08:14

zegsoft
Зарегистрирован: 2022-11-30
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

pywin32 не видит 32-х битный COM-сервер

ZerG
А сам СОМ обьект создан для 32 битной архитектуры?
Да, объект 32-х битный.
Сейчас обнаружил еще один факт: попробовал получить доступ на чистой винде, установил Windows 10 x64 в виртуальной машине, все работает корректно. Видимо это какой-то глюк моей винды. Вот только как его исправить. Не хотелось бы переустанавливать систему.

Офлайн

#4 Ноя. 30, 2022 13:26:43

zegsoft
Зарегистрирован: 2022-11-30
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

pywin32 не видит 32-х битный COM-сервер

Проблема решена. Нужно было заново зарегистрировать COM-объект. Видимо были какие-то проблемы с реестром.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version