我在使用COM對象和Python時遇到了一些問題,並且遇到了一個小問題。Python實例到COM對象
我使用的COM對象有一個名爲SetCallback
方法,這需要object
的評判是這樣的:
[id(0x60010010)]
void SetCallback([in] IDispatch* callbackobject);
從MS OLE/COM對象查看兩者現在
如果我在python中創建和使用我的COM應用程序的實例一切都很好,直到我嘗試將一個對象實例傳遞給此方法。
callback = Callback()
mycomobject.SetCallback(callback)
class Callback():
def SetStatusText(self,status):
print status
我在Python窗口得到的錯誤是:TypeError: The Python instance can not be converted to a COM object
在做在C#同樣的事情,我曾經讓我的類定義中,查找這樣的:
[ComVisible(True)]
public class Callback
{
//some methods here
}
和方法調用與Python版本相同。
是否有這樣的事情,我必須在Python中做,以便使用對象的實例作爲COM對象的回調。
有趣的問題。 com系統在標準的python數據類型(int,strings,unicode ...)下工作良好。是否有可能創建一個解決方法,比如創建一個可以模仿SetCallback函數的監視類? – 2011-04-06 17:02:09