By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
464,330 Members | 1,042 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 464,330 IT Pros & Developers. It's quick & easy.

com: makepy gencache.EnsureModule

P: n/a
Hello,

I' having a problem with gencache.EnsureModule:

I used win32com\client\makepy.py to successfully generate Python
sources.
Unfortunately, after I call win32com.client.Dispatch(), the object I
get back is of type "COMObject" instead of one of the generated
classes.

In particular, I'm trying to interact with SolidWorks Extensibility
Type Library and the PROGID is "SldWorks.Application".

Using win32com\client\makepy.py -i
SolidWorks Extensibility Type Library
{801A0000-A66C-11D3-A8BD-0000861EBBD6}, lcid=0, major=1, minor=0
>># Use these commands in Python code to auto generate .py support
from win32com.client import gencache
gencache.EnsureModule('{801A0000-A66C-11D3-A8BD-0000861EBBD6}',
0, 1, 0)

Looking in win32com\gen-py, the appropriate file _does_ exist:
801A0000-A66C-11D3-A8BD-0000861EBBD6x0x1x0.py
and it does contain the correct class definitions.

Then, in my code:
>>mod = win32com.client.gencache.EnsureModule('{801A2001-A66C-11D3-A8BD-0000861EBBD6}', 0, 1, 0)
mod
None
>>ob = win32com.client.Dispatch("SldWorks.Application")
ob
<COMObject SldWorks.Application>

Why are the object mod is None and the object ob is <COMObject
SldWorks.Application instead <win32com.gen_py.<blah>>?
Any bright ideas as to what's going wrong here?

Thanks for your hints, Kai

Aug 10 '07 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.