win32com.client - need some help
Alex Martelli
aleaxit at yahoo.com
Fri Jan 26 08:08:04 EST 2001
<zippy1984 at my-deja.com> wrote in message news:94rjot$cbk$1 at nnrp1.deja.com...
>
> > >
> > > HRESULT getDictionary([out] IDispatch** pDictionary);
> > > [id(0x12345678)]
> >
> > Unusual ([out] is generally [out,retval]) but OK.
>
> Well, I do get a return value, but not what I expected.....
> So, I don't know if this is important.
It may be. But I'm astonished you get a return-value AT
ALL *unless* makepy has been run one way or another.
> >>> print dic.__class__.__doc__
> The dynamic class used as a last resort.
[snip]
> ...I guess this is not what I wanted to see...?
Right.
> What is causing these problems? Is it a "poor" definition in the
> COM server that does not give win32com enough information? Is there
Sure, IDispatch** in the IDL is too generic -- no indication
at all of _what_ dispinterface is being implemented. Still,
that should not be a killer, just a big inconvenience.
What's happening here seems to be very different: you seem
to be getting an instance of win32com.client.CDispatch and
NOT one of win32com.client.Dispatch. So, apparently, there
is NO type-information *at all* connected with the object;
it does not implement GetTypeInfo to let users know what
type-info/type-library it comes from. Still, it _should_
be still possible to invoke methods on it, just not to find
out what the invokable methods *ARE*.
Alex
More information about the Python-list
mailing list