Mark Hammond mhammond at
Tue Aug 12 10:27:29 CEST 2003

Matt Smith wrote:
> Hi, all.
> Just a quick question, when setting a COM process to read a value from
> a pre-defined register index, I think, I have to change the variable
> that the value will be returned to (as I have to do for the same
> function in perl), into a VARIANT, However when i run the variant
> code....
>       'serialIndex = win32com.client.pythoncom.VT_VARIANT' 
> no matter what extension I use (i.e. VT_I4 or VT_BOOL etc etc) it
> still returns a type mismatch error. I may be doing something wrong or
> getting confused with variant processes in python. I do know the code
> I use in perl to do this works but I dont know how to translate this,
> fully, into python.
> perl code for variant =
> Win32::OLE::Variant::Variant(Win32::OLE::Variant::VT_VARIANT|Win32::OLE::VARIANT::VT_BYREF,
> 0)

Unfortunately, you really can't do this in a clean way.  The best thing 
to do is to ensure "makepy" has been run for your COM object, and the 
right magic should always happen.


More information about the Python-list mailing list