Hi all,

I found a thread that it similar to what I'm looking for:
http://mail.python.org/pipermail/python-win32/2002-November/000562.html
but I couldn't come up with a solution...

I have a C++ server with a COM interface, which I can access via JScript
without any problem, but when it comes to Python, it seems impossible to
pass an array from the server to the Python script by reference.


C++ method declaration (the method just copies BufIn into BufOut):
STDMETHODIMP CoServer::EchoArray(
   VARIANT BufIn,
   VARIANT * BufOut,
   ULONG* retVal)


IDL:
[id(1), helpstring("method EchoArray")] HRESULT EchoArray(
   [in]         VARIANT BufIn,
   [out]        VARIANT* BufOut,
   [out,retval] ULONG* retVal);
for this one, I tried to replace "[out] VARIANT* BufOut" by "[in,out]
VARIANT* BufOut" or by "[in] VARIANT BufOut" without any success.


Python script:

import win32com.client
import time
import os
Server = win32com.client.Dispatch("MyObject.Server")
ans = [1,2,3]
Server.EchoArray([0x11,0x22,0x33], ans)
print ans

# I am expecting ans=[0x11,0x22,0x33]
# but ans remains as defined earlier ans=[1,2,3]


Does anyone know how to pass an array by reference from a COM
interface to a Python script?

Thank you!
Ben


--
Benoît Prigent
Hardware Engineer
_______________________________________
Raisonance SAS
17 avenue Jean Kuntzmann
38330 Montbonnot Saint Martin
France

Phone:    +33 (0)4 76 61 02 39
Fax:      +33 (0)4 76 41 81 68
Email:    benoit.prig...@raisonance.com
Internet: http://www.raisonance.com
_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to