Я создал COM-сервер в Python 2.7 (используя pythoncom) и хотел бы вызвать его из кода C ++, но я не знаю как.
COM-сервер Python:
import pythoncom
class PyCOMTest:
_public_methods_ = ['getNextNum']
_reg_progid_ = "<some progid>"_reg_clsid_ = "{<some hash string>}"_reg_clsctx_ = pythoncom.CLSCTX_LOCAL_SERVER
numbb = 0
def __init__(self):
self.num = 0
def getNextNum(self):
print "method called"PyCOMTest.numbb = PyCOMTest.numbb + 1
return PyCOMTest.numbb
if __name__ == '__main__':
print "Registering COM server..."import win32com.server.register
win32com.server.register.UseCommandLine(PyCOMTest)
Я могу вызвать COM-сервер с помощью клиентов, написанных на Python, а другой на VBScript.
Я знаю, что C ++ требует интерфейса, который расширяет IUnknown для вызова CoCreateInstance и QueryInterface, но я хочу, чтобы сервер COM был полностью на Python.
Есть идеи?
Задача ещё не решена.
Других решений пока нет …