Pythonwin com?

Mark Hammond mhammond at skippinet.com.au
Thu May 11 21:49:35 EDT 2000


"Sam Schulenburg" <samschul at pacbell.net> wrote in message
news:8ffgdr$840$1 at nnrp1.deja.com...

> Frame = {}   # Here I have to set Frame up as a tuple

That doesnt look like a tuple to me?


> return self._ApplyTypes_(0xa,
This decoded is:

>                            1,
>                      (24, 0),
24 = VT_VOID - function has no return value.

>         ((2, 1), (16396, 3)),

2 params:
  (2,1) == VT_I2, PARAMFLAG_FIN
  (19396,3) == VT_BYREF | VT_VARIANT, PARAMFLAG_FIN|PARAMFLAG_FOUT

ie, first param in an "in" integer.

second param in an "in/out" byref variant.  The "in" implies it is not
simply an out.

My guess is that the problem is the VT_VARIANT - ie, Python doesnt know
the type of the param at all - it only knows it is byref.

What are the types of the objects in the array?  What we can do is change
the makepy definition for:

> def PutFrame(self,
>              frame=defaultNamedNotOptArg,
>              FrameArray=defaultNamedNotOptArg):
> """Put Frame Data"""
> return self._ApplyTypes_(0xb,
>                            1,
>                      (24, 0),
>         ((2, 1), (16396, 3)),

Note the params are almost identical - we could change this to VT_BYREF |
VT_I2 (or some more specific type than variant - whatever makes sense).

Who wrote the object?

Mark.





More information about the Python-list mailing list