[python-win32] Makepy does not generate all secondary interfaces?

Åsmund Hjulstad asmund.hjulstad at gmail.com
Tue Nov 9 15:43:12 CET 2010


I am struggling with secondary interfaces and makepy

I have generated an interface with makepy from a library ( PISDKCommon
1.0 Type Library ). It has an object, PIAsynchStatus, that exposes a
secondary interface; IPIAsynchStatus2. I cannot find the secondary
interface in the generated module, though. I wanted to do something
like Mark Hammond suggested here:
http://code.activestate.com/lists/python-list/27760/

.. but without the secondary interface, I don't know how to do it.

module = gencache.GetModuleForProgID('PISDKCommon.PIAsynchStatus')
module.IPIAsynchStatus2   # Throws AttributeError

Looking in the makepy-generated .py files, I find references to
IPIAsynchStatus2 in the package's __init__.py file (everything from
this library appears to end up in a subdirectory), but no class.
The references are in the VTablesToPackageMap, NamesToIIDMap. The
CLSIDToClassMap dict is empty.

Any suggestions as to what can be wrong? Some secondary interfaces
from a different, but related library appears in (another) module
namespace without any problems. In this library, everything appears in
one .py file, though, no subdirectory structure and __init__.py files.


Åsmund Hjulstad


More information about the python-win32 mailing list