Hi,
 
I've just started looking at Python.  I am trying to resolve an issue a user is having trying to access the COM interface in our application from Python.
 
C++ code:
 
STDMETHODIMP       
CMyClass::Read(
  const int   x,    
  VARIANT  *indexlist,          // IN:  "safe" array of  4-byte integers
  VARIANT  *results)
 
 
Python code:
 
    def read(self, x, addr):
        try:
            addr = buffer(array.array('L', addr))
            data = "" addr)
...
 
x.read(0, 0x12345678)
 
The variant that shows up on the C++ code is a safearray of 1-byte integers with 4 elements: 12, 34, 56, 78.
 
The API treats them each as individual "addresses"...
 
Here's the COM definition from the .py file.
 
 def Read(self, x=defaultNamedNotOptArg, indexlist=defaultNamedNotOptArg, results=pythoncom.Missing):
  """method Read"""
  return self._ApplyTypes_(2, 1, (24, 0), ((3, 1), (16396, 1), (16396, 2)), 'Read', None,x
   , indexlist, results)
 
Thanks,
Shad
 
_______________________________________________
Python-win32 mailing list
Python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to