[python-win32] Problem : COM with Array Argument

Mark Hammond skippy.hammond at gmail.com
Mon Jan 2 07:32:21 CET 2012


On 22/12/2011 1:18 AM, randfb wrote:
>> There's not an awful lot we can do here.  Type code 24581 is a COM safe
>> array of doubles, passed by reference.  That seems to be what the
>> documentation shows.  You'd sure your values were all floats?
>
>>> I tried Ent.GetPoints(1,1, d)
>>> where d is a list of 3 floats,
>
> Yes I tried various arrangements like:
> d=[0.0, 0.0, 0.0]
>
> Has anyone ever been able to read or write a SAFEARRY from python thru COM ?

SAFEARRAY is the only way arrays can be passed to IDispatch-based COM 
object, so plenty of people do use them.

I just added some double specific tests to the win32com test suite and 
I'm afraid I can't reproduce the problem.  I can reproduce a similar 
problem if typeinfo for the COM object isn't used, but that doesn't seem 
to be the case for you - the type info is being used in your example.

Sorry I can't be more help...

Mark


More information about the python-win32 mailing list