> I'm a newbie to Win32 COM and am unsure whether my current problem > lies in what I'm doing or possibly in some quirk of the DLL I'm trying > to use from Python. > > I have a snippet of C++ that I want to implement in Python: > > IDispatch* pVoid; > m_pBrowserApp->get_Document(&pVoid); > m_pAnalyzer->Analyze(pVoid, _variant_t(5L)); > pVoid->Release(); > > At first, I tried using win32com.Client.Dispatch to create a COM > object for both my DLL and for the IE browser, and that worked well up > to the point where I tried to use the ie.Document object as input to > Analyze where it expects the pVoid. Got "argument is not a COM > object"
In general, COM itself doesn't understand a "void *". In the example above, that first param would probably be best defined as IUnknown rather than void. Further, in general, win32com only supports IDispatch based interfaces, but the C++ example above is using vtables. If you can get your analyzer interface working via IDispatch, it will work correctly from Python, as well as VBScript, JS, etc... I'm afraid I can't help with the comtypes issues... Cheers, Mark _______________________________________________ Python-win32 mailing list Python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32