Найти - Пользователи
Полная версия: pywin32 не видит 32-х битный COM-сервер
Начало » Python для новичков » pywin32 не видит 32-х битный COM-сервер
1
zegsoft
Всем добрый день!
Мне нужно подключиться к 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? Кто-нибудь сталкивался с этим? В какую сторону мне копать?
ZerG
А сам СОМ обьект создан для 32 битной архитектуры?
zegsoft
ZerG
А сам СОМ обьект создан для 32 битной архитектуры?
Да, объект 32-х битный.
Сейчас обнаружил еще один факт: попробовал получить доступ на чистой винде, установил Windows 10 x64 в виртуальной машине, все работает корректно. Видимо это какой-то глюк моей винды. Вот только как его исправить. Не хотелось бы переустанавливать систему.
zegsoft
Проблема решена. Нужно было заново зарегистрировать COM-объект. Видимо были какие-то проблемы с реестром.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB