Hi, all I am trying to use win32com to interact with a proprietary COM object. progID of the coclass is "SomeObj2.SomeObj.1", I can create the coclass but am not able to access other interfaces via win32com.client.CastTo().
For example ISomeInterface is one of this COM object's interfaces. But no classes are generated for this interface in the file made by makepy.py. I can only find things like this: ISomeInterface_vtables_dispatch_, ISomeInterface_vtables_ this is my code: te = win32com.client.Dispatch("SomeObj2.SomeObj.1") # fail! Error message is: # ... # return mapCLSIDToClass[clsid] # KeyError: '{84AE9D10-95AD-13D5-88C1-0003025952C1}' ISomeInterface_ = win32com.client.CastTo(te, 'ISomeInterface') in the file generated by makepy.py, the class is very simple: class SomeObj(CoClassBaseClass): # A CoClass CLSID = IID('{7A4F5191-68A8-14D5-82C1-0001083952C1}') coclass_sources = [ _SomeObjEvents2, _SomeObjEvents, _SomeObjEvents4, _SomeObjEvents5, _SomeObjEvents3, ] default_source = _SomeObjEvents5 coclass_interfaces = [ ] I googled the web and find some old posts in this maillist, it seems that only interfaces inherit from IDispatch can be used by pythonCOM, and interfaces here inherits from IUnknown. But I just need to use these interfaces, so could anybody tell me how to do it? And this control and its interfaces are all available to VBScript or Visual Bacis: Set ISomeInterface_ = SomeObj.interface("ISomeInterface") ... <OBJECT ID="SomeObj" CLASSID="CLSID:7A4F5191-68A8-14D5-82C1-0001083952C1" ></OBJECT> Since VBScript and python are both script languages, I guess python can also access these interfaces. Any help would be appreciated! Bruce _______________________________________________ Python-win32 mailing list Python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32