[python-win32] Problems with automation in newer versions of win32all

greg Landrum greglandrum at mindspring.com
Fri May 28 17:49:11 EDT 2004


Upon upgrading to Python 2.3 and installing the most recent version of win32all (build 163), some frequently used COM client code ceased to function.

The exception I'm seeing is:
  File "chemdraw.py", line 89, in CDXConvert
    theObjs.SetData(inFormat,inData)
  File "c:\Python23\Lib\site-packages\win32com\gen_py\5F646AAB-3B56-48D2-904C-A68D7989C251x0x7x0.py", line 416, in SetData
    return self._oleobj_.InvokeTypes(21, LCID, 4, (24, 0), ((12, 17), (12, 17),(12, 17), (12, 17), (12, 1)),dataType, resolution, Width, Height, arg4)
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147352571), 5)

The definition of SetData() (from the auto-generated file) looks like this:
	# The method SetData is actually a property, but must be used as a method to correctly pass the arguments
	def SetData(self, dataType=defaultNamedNotOptArg, resolution=defaultNamedNotOptArg, Width=defaultNamedNotOptArg, Height=defaultNamedNotOptArg, arg4=defaultUnnamedArg):
		"""Returns the data of the objects."""
		return self._oleobj_.InvokeTypes(21, LCID, 4, (24, 0), ((12, 17), (12, 17), (12, 17), (12, 17), (12, 1)),dataType, resolution, Width, Height, arg4)

SetData() is being called with proper arguments (2 strings)

I first encountered this problem about  a year ago using Python 2.2 and discovered that it started at build 150 of win32all (my earlier message about this same problem can be found at URL: http://aspn.activestate.com/ASPN/Mail/Message/Python-win32/1686417 ).  My "solution" then was to just stick with using build 148.  Unfortunately, now that I've switched to Python 2.3, this is no longer an option.

This is a serious problem for us, I would be very grateful for any solutions or work-arounds.

Thanks
-greg




More information about the Python-win32 mailing list