Экземпляр Python для COM-объектаPython

Программы на Python
Anonymous
Экземпляр Python для COM-объекта

Сообщение Anonymous »

Я немного поигрался с использованием COM-объектов в Python и столкнулся с небольшой проблемой.

Используемый мной COM-объект имеет метод SetCallback, который принимает объект, метод выглядит следующим образом:

Код: Выделить всё

    [id(0x60010010)]
void SetCallback([in] IDispatch* callbackobject);
Взято из средства просмотра объектов MS OLE/COM

Теперь, если я создам и экземпляра моего COM-приложения на Python, все в порядке, пока я не попытаюсь передать экземпляр объекта этому методу.

Код: Выделить всё

callback = Callback()
mycomobject.SetCallback(callback)

class Callback():
def SetStatusText(self,status):
print status
В окне Python я получаю следующую ошибку: TypeError: экземпляр Python не может быть преобразован в COM-объект

Когда я делал то же самое на C#, я делал определение класса следующим образом:

Код: Выделить всё

[ComVisible(True)]
public class Callback
{
//some methods here
}
и вызов метода такой же, как и в версии Python.

Есть ли что-то подобное? нужно сделать в Python, чтобы использовать экземпляр объекта в качестве обратного вызова для COM-объекта.

Подробнее здесь: https://stackoverflow.com/questions/545 ... com-object

Вернуться в «Python»