Passing array of doubles to COM object?
Martin Keefe
martink at cix.co.uk
Tue Apr 4 07:55:00 EDT 2000
I am trying to use an Automation server that has the following method (among
others):
VARIANT_BOOL LoadFeature(
BSTR code,
BSTR label,
long size,
VARIANT xArray,
VARIANT yArray);
Its documentation assumes that the client will be written in VB and says that
xArray and yArray are arrays of Doubles. And true enough, passing arrays of
Doubles from VB works fine.
In Python, after creating the object with:
mx = win32com.client.Dispatch("Maplex.Application")
I've tried the following:
xa = [100000.0, 600000.0, 600000.0, 100000.0]
ya = [100000.0, 100000.0, 900000.0, 900000.0]
mx.LoadFeature( 'AREA', 'Simple', 4, xa, ya )
and:
xa = buffer( array('d',[100000.0, 600000.0, 600000.0, 100000.0]) )
ya = buffer( array('d',[100000.0, 100000.0, 900000.0, 900000.0]) )
mx.LoadFeature( 'AREA', 'Simple', 4, xa, ya )
without success. Both ran without errors or exceptions but the data didn't
appear to get to the server intact. I've tried both dynamic and static dispatch
with the same results. Can anybody shed some light on this please?
The system is NT4 Server SP3, Python 1.5.2, win32all-128. Thanks,
]\/[artin Keefe ][ Dorking,Surrey,UK ][ martink at cix.co.uk
More information about the Python-list
mailing list