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

Dino Viehland dinov at microsoft.com
Sat Dec 6 00:28:49 CET 2008


What's the stack trace for the object reference exception if you run with the -X:ExceptionDetail option?

-----Original Message-----
From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Rodney Howeedy
Sent: Friday, December 05, 2008 3:22 PM
To: Discussion of IronPython
Subject: Re: [IronPython] 'DispPropertyGet' error returned from read-write COM interop property

I found that one and tried before.  I didn't have any luck:
 >>> mytestRun.Field.Item['RN_USER_01'] = 'abc'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
SystemError: Object reference not set to an instance of an object.

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

I couldn't decipher the error so I couldn't figure out what I'm doing
wrong.
I suspect the folks on this list can. =)

Dino Viehland wrote:
> Does:
>
> mytestRun.Field.Item['RN_USER_01'] = 'abc'
>
> work?
>
> -----Original Message-----
> From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Rodney Howeedy
> Sent: Friday, December 05, 2008 3:11 PM
> To: users at lists.ironpython.com
> Subject: [IronPython] 'DispPropertyGet' error returned from read-write COM interop property
>
> 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
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
_______________________________________________
Users mailing list
Users at lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com




More information about the Ironpython-users mailing list