[IronPython] 'DispPropertyGet' error returned from read-write COM interop property

Rodney Howeedy Rodney.Howeedy at Sun.COM
Sat Dec 6 00:11:03 CET 2008


Hi everyone,

I encounter an error with 2.0 RC2 that didn't occur in the same 
IronPython code on 2.0 Beta 3. 

I use a factory object from a COM interop assembly that has a read-write 
property named "Field".  I get a TypeError when I assign a value to this 
property (read-write):
 >>> mytestRun.Field['RN_USER_01'] = 'abc'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'DispPropertyGet' object is unsubscriptable

 >>> print mytestRun.Field['RN_USER_01']
None

I imported the same COM interop assembly that worked with 2.0 Beta3.  
The interop was converted with tlbimp.exe from a COM API .dll.  Here's 
the 2.0 Beta3 output:
 >>> mytestRun.Field['RN_USER_01'] = 'abc'
 >>> print mytestRun.Field['RN_USER_01']
abc

My best guess is that IronPython 2.0 RC2 interprets the property as 
read-only even though the COM interop assembly defines the property 
read-write. The error occurs in IronPython 2.0 RC2 with every COM 
interop object with the read-write "Field" property.

I can read the default assigned value but cannot assign anything.  Any 
ideas?  I'm fresh out of them after trying many permutations of the syntax.

Thank you,
Rodney Howeedy
Staff Engineer, Sun Microsystems



More information about the Ironpython-users mailing list