[Python.NET] Trying to constructu a System.IntPtr object
brian at zope.com
Fri Jul 29 21:38:05 CEST 2005
> I am stumped by this one - googled, even read the Readme!!
> I want to call System.Forms.Control.FromHandle() to get a control from a
> handle. But I am getting that handle as Python int instance but
> FromHandle requires a System.IntPtr.
> I would have guess that there would be automatic conversion from Python
> int to .Net IntPtr.
> >>> CLR.System.IntPtr(23)
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> TypeError: 'int' value cannot be converted to System.IntPtr
> So I try converting it to Int32 first... (same for Int64)
ooo - you've found a hole in the type conversion logic, methinks.
In the interim, you can use the following sneaky hack:
from CLR.System import IntPtr, Int32
i = Int32(32)
p = IntPtr.op_Explicit(i)
# now p is an intptr...
Brian Lloyd brian at zope.com
V.P. Engineering 540.361.1716
Zope Corporation http://www.zope.com
More information about the PythonDotNet