[Tutor] How to create array of variants?
john at fouhy.net
Wed Jul 9 01:52:54 CEST 2008
On 09/07/2008, Kelie <kf9150 at gmail.com> wrote:
> I think comtypes or pywin32 do take care of some conversion between Python
> types and VB types. But they don't work with AutoCAD.
This is a short excerpt from _Python Programming on Win32_:
"""In many cases, PythonCOM can translate between Python objects and
VARIANT structures seamlessly. When you call a COM object and pass a
Python object, PythonCOM automatically creates a VARIANT of the right
type and passes the VARIANT to COM.
Python object type: Any other python sequence.
VARIANT type: An array of VARIANTs; each element of the sequence is
translated using this table.
In some cases, these translations aren't suitable; for example, a COM
object may be picky about the VARIANT types passed and accept only a
VT_I2 integer, not a VT_I4 integer. This should be considered a bug
in the COM object, but it does happen. In this case, you must use
earlybound COM by using MakePy. [...] If you can't use MakePy for your
COM object, you must get your hands dirty and use the
PyIDispatch.InvokeTypes() method manually; this is how MakePy gets the
behaviour it does. The use of InvokeTypes() is beyond the scope of
I think your question is beyond the scope of this mailing list :-) I
think there's a mailing list dedicated to python on Windows; you might
do better there.
More information about the Tutor