FAQ
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

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppython-list @
categoriespython
postedAug 10, '07 at 9:24a
activeAug 10, '07 at 9:24a
posts1
users1
websitepython.org

1 user in discussion

Kai Rosenthal: 1 post

People

Translate

site design / logo © 2022 Grokbase