[python-win32] Max parameters in method of IConnectionPoint interface?
Mark Hammond
mhammond at skippinet.com.au
Thu Mar 27 22:58:48 CET 2008
> I've gotten right down to the problem. Has nothing to do with the
> number of
> parameters. One of the parameters is of type VT_VARIANT (0x000c). That
> variant
> type is not supported by the function PyCom_PyObjectFromVariant, which
> gets
> called along the chain of getting the values down to Python. The
> default case
> statement returns E_OUTOFMEMORY if the type can't be converted to a
> BSTR.
That is strange - that function usually gets called with a variant holding a
specific type. Why are you passing a variant holding a variant? Why not
just pass a variant holding the actual value and type?
> So, obviously PyCom doesn't like a variant of type VT_VARIANT.
In all other cases, it handles VT_VARIANT fine - its just that we are not
expecting a variant holding a variant (other than a byref one) and if it was
a general requirement, I'm extremely surprised we haven't hit it before - or
maybe we have and people are living with the BSTR conversion?
> So I guess my question becomes how can I change the parameter type so
> everyone is happy?
Pass it as a variant holding the actual type instead of adding a kind of
"indirection".
Cheers,
Mark
More information about the python-win32
mailing list