Hi, I'm trying to get the base interface typeinfo with pythoncom.GetRefTypeOfImplType but it's always returning the typeinfo of the IDispatch interface.
Does the code below seem wrong ? Thank you for your help. -mab def log_base_interface( tlb ): n = tlb.GetTypeInfoCount() for i in range(n): iface_ti = tlb.GetTypeInfo( i ) iface_attr = iface_ti.GetTypeAttr() if iface_attr[5] == pythoncom.TKIND_DISPATCH: print '>>>>> Base interfaces for %s' % (iface_ti.GetDocumentation(-1)[0]) for i in range(iface_attr[8]): flags = iface_ti.GetImplTypeFlags(i) refType = iface_ti.GetRefTypeInfo(iface_ti.GetRefTypeOfImplType(i)) refAttr = refType.GetTypeAttr() print refType.GetDocumentation(-1)[0] output: >>>>> Base interfaces for SIObject IDispatch >>>>> Base interfaces for Application IDispatch >>>>> Base interfaces for SIObjectCollection IDispatch >>>>> Base interfaces for LightRig IDispatch etc... My interfaces are all defined like this: [ uuid(231B4BC1-4F8E-11d4-ACDC-0090275802BF), helpstring("LightRig interface"), object, // specifies a COM interface (default is RPC interface) local, // interface to define is not remote dual, // identifies an IDispatch interface that exposes directly through the VTBL pointer_default(unique) // this option is only instructing midl that we may have functions with embedded pointers-pointers. Otherwise it is ignored by idl. ] interface LightRig : Null { // properties [propget, id(1), helpstring("property Light")] HRESULT Light([out, retval] Light** ); };
_______________________________________________ python-win32 mailing list python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32