Enric Jaen wrote:
> I have the following method generated by makepy.py:
>
> def GetFilters(self, pvarFilterArray=defaultNamedNotOptArg, 
> pnArraySize=defaultNamedNotOptArg):
>         """method GetFilters"""
>         return self._oleobj_.InvokeTypes(68, LCID, 1, (24, 0), ((16396, 0), 
> (16387, 0)),pvarFilterArray
>             , pnArraySize)
>
>
> As you see, the method has two output params: The first is of type pointer to 
> a Variant (which the COM object should fill with an array) and the second a 
> pointer to a type long.
>
> But when I invoke that method it returns a tuple as if there were no data:
>   
>>>> r.GetFilters()
>>>>         
> (None, 0)
>
> i.e array is Null with size is 0. 
>
> The same is happening with other methods that have an output array.
>
>
> - Which type represents 16396 ? 
>   

That's 12 + 0x4000, so it's VT_VARIANT + VT_BYREF.  That is, a variant
output parameter.  16387 is VT_I4 + VT_BYREF, or a long integer output
parameter.

Are you 100% convinced that the object has an array of filters to
return?  How do you know?

-- 
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.

_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to