Найти - Пользователи
Полная версия: ошибка в COM
Начало » Python для новичков » ошибка в COM
1
Theod
Пытаюсь обратится к COM-серверу:
import win32com.client
pyServ = win32com.client.Dispatch("Project2.SimpleServer")
#Сервер написан на Delphi и содержит одну функцию, впрочем скрипт на питоне ничего не вызывает.

Исполнение заканчивается ошибкой:
  File "C:\Python26\Lib\SITE-P~1\PYTHON~1\pywin\framework\scriptutils.py", line 309, in RunScript
debugger.run(codeObject, __main__.__dict__, start_stepping=0)
File "C:\Python26\Lib\SITE-P~1\PYTHON~1\pywin\debugger\__init__.py", line 60, in run
_GetCurrentDebugger().run(cmd, globals,locals, start_stepping)
File "C:\Python26\Lib\SITE-P~1\PYTHON~1\pywin\debugger\debugger.py", line 624, in run
exec cmd in globals, locals
File "D:\cmsproject\activation\&#202;&#238;&#239;&#232;&#255; codecreator.py", line 2, in <module>
pyServ = win32com.client.Dispatch("Project2.SimpleServer")
File "C:\Python26\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
File "C:\Python26\lib\site-packages\win32com\client\dynamic.py", line 98, in _GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File "C:\Python26\lib\site-packages\win32com\client\dynamic.py", line 78, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
com_error: (-2147467262, '\xc8\xed\xf2\xe5\xf0\xf4\xe5\xe9\xf1 \xed\xe5 \xef\xee\xe4\xe4\xe5\xf0\xe6\xe8\xe2\xe0\xe5\xf2\xf1\xff', None, None)
'\xc8\xed\xf2\xe5\xf0\xf4\xe5\xe9\xf1 \xed\xe5 \xef\xee\xe4\xe4\xe5\xf0\xe6\xe8\xe2\xe0\xe5\xf2\xf1\xff' означает “Интерфейс не поддерживается”.

Прошу помочь решить ошибку, как обратится к этому COM-серверу?
regall
Theod
“Project2.SimpleServer”
А ты уверен в этой строчке, а то я попробовал создать “Word.Application” и у меня все отлично отработало, может не в питоне проблема?
Вот неплохая статья по COM'y в Python: http://www.devshed.com/c/a/Python/Windows-Programming-in-Python/, может поможет разобраться более детально в проблеме.

P.S. Уж больно ник у тебя знакомый =)
kmet
cкорее всего COM-сервер не реализует IDispatch.
Theod
regall
Theod
“Project2.SimpleServer”
А ты уверен в этой строчке,
kmet
cкорее всего COM-сервер не реализует IDispatch.
Вы правы IDidpatch этот COM-сервер не реализует. Пришлось самому всё переписывать(

regall
P.S. Уж больно ник у тебя знакомый
Хм, я достаточно редко пользуюсь этим ником, да и в python-сообщества с недавних пор начал заглядывать. Спасибо за ссылку.
regall
PgBaggBa
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