It runs fine from the command line but then it does not do much ... yet.
For the moment I am simplifying it by removing IP :(
 
I wanted to so some moderately heavy reflection which to my thinking
should be easier from IP but I will use VB for now.  
 
I assume I *should* be able to return a derived python class to VB?
Alternatively I could implement an interface.  How can IP implement a
.NET interface?
(All pointers to pre-existing doco warmly received :)
 
Thanks
Kyle

________________________________

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Curt
Hagenlocher
Sent: Friday, 22 February 2008 4:29 PM
To: Discussion of IronPython
Subject: Re: [IronPython] FW: returning inherited classes to .NET


My apologies; I wasn't reading the code correctly.  That's probably a
sign that I should be going to bed. :)  Have you tried simplifying your
version just a little bit by running it directly rather than through 
ASP.NET <http://asp.net/> ?

 
On Thu, Feb 21, 2008 at 8:43 PM, Howland-Rose, Kyle <
[EMAIL PROTECTED]> wrote:


        Hi Curt,
        
        Thanks for replying.  When I view the link I see the following:
        
        The .NET code creates the "Test" class and then runs the python
code
        which imports the "Test" class a subclasses it to create python
class
        "X".
        
        Class "X" is then called and cast to type "Test" and assigned to
the
        value obj.
        
        Is this what you are looking at?
        
        My code is pretty much identical.  The VB looks like:
        
        
        Public MustInherit Class ChildControl
           Public Function Control() As WebControl
               Return Nothing
           End Function
           Public Function GetValue() As String
               Return Nothing
           End Function
           Public Function SetValue(ByVal value As Object) As String
               Return Nothing
           End Function
        End Class
        
        Class IPReflection
           Private Shared Instance As IPReflection = Nothing
           Private PyEngine As PythonEngine
           Private PyModule As EngineModule
        
           Public Shared Function Inst() As IPReflection
               If Instance Is Nothing Then
                   Instance = New IPReflection
               End If
               Return Instance
           End Function
        
           Private Sub New()
               Dim path As String =
HttpContext.Current.Request.MapPath(".")
               PyEngine = New PythonEngine
               PyEngine.AddToPath(path)
               PyModule = PyEngine.CreateModule
               PyEngine.DefaultModule = PyModule
        
        
PyEngine.ExecuteFile(HttpContext.Current.Request.MapPath("CustomControls
        .py"))
           End Sub
        
           Public Function GetChildControl() As ChildControl
               Return
        CType(Operations.Ops.Call(PyModule.Globals("GetControl")),
ChildControl)
           End Function
        End Class
        
        And the python looks like:
        
        import clr
        import sys
        
        clr.AddReference('System')
        import System
        
        sys.path.append(sys.path[0] + "/bin")
        
        clr.AddReferenceToFile("WebControlLibrary.dll")
        clr.AddReference('System.Web')
        
        from System.Web.UI.WebControls import Label
        
        from WebControlLibrary import ChildControl
        
        class LabelChildControl(ChildControl):
               def __init__(self):
                       self.control = Label()
               def Control(self):
                       return self.control
        
        def GetControl():
               return LabelChildControl()
        
        
        Thanks again,
        Kyle
        

        ________________________________
        
        From: [EMAIL PROTECTED]
        
        [mailto:[EMAIL PROTECTED] On Behalf Of Curt
        Hagenlocher
        Sent: Friday, 22 February 2008 3:08 PM
        To: Discussion of IronPython
        Subject: Re: [IronPython] returning inherited classes to .NET
        


        The page in question doesn't seem to show what you describe --
deriving
        a Python class from a C# class.  Maybe you could show us your
sample
        code?
        
        
        On Thu, Feb 21, 2008 at 7:39 PM, Howland-Rose, Kyle
        <[EMAIL PROTECTED]> wrote:
        
        
               Hi all,
               I am following
        
        
        
http://www.ironpython.info/index.php/Using_Python_Classes_from_.NET
        <
http://www.ironpython.info/index.php/Using_Python_Classes_from_.NET>
        but using VB.
        
               In VB I declare a class and derive a python 1.1 class
from it
        but when I return it I get the exception:
        
               "Unable to cast object of type
        'IronPython.NewTypes.WebControlLibrary.ChildControl_1' to type
        'WebControlLibrary.ChildControl'."
        
               The page referenced above just seems to cast the python
class
        instance to the C# class instance but this does not work for me
in VB.
        
               Any help would be appreciated :)
        
               Thanks,
        
               Kyle
        
        
        
        
        
************************************************************************
        
               Allens Arthur Robinson online: http://www.aar.com.au
<http://www.aar.com.au/> 
        <http://www.aar.com.au/>
        
               This email is confidential and may be subject to legal or
other
        professional privilege. It is also subject to copyright. If you
have
        received it in error, confidentiality and privilege are not
waived and
        you must not disclose or use the information in it. Please
notify the
        sender by return email and delete it from your system. Any
personal
        information in this email must be handled in accordance with the
Privacy
        Act 1988 (Cth).
        
        
        
************************************************************************
        *
        
        
        
        
        
************************************************************************
        
               Allens Arthur Robinson online: http://www.aar.com.au
<http://www.aar.com.au/> 
        <http://www.aar.com.au/>
        
               This email is confidential and may be subject to legal or
other
        professional privilege. It is also subject to copyright. If you
have
        received it in error, confidentiality and privilege are not
waived and
        you must not disclose or use the information in it. Please
notify the
        sender by return email and delete it from your system. Any
personal
        information in this email must be handled in accordance with the
Privacy
        Act 1988 (Cth).
        
        
        
************************************************************************
        *
        
        
               _______________________________________________
               Users mailing list
               [email protected]
               
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
        
               _______________________________________________
               Users mailing list
               [email protected]
               
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
        
        
        
        
        
        
************************************************************************
        
        Allens Arthur Robinson online: http://www.aar.com.au
<http://www.aar.com.au/> 
        
        This email is confidential and may be subject to legal or other
professional privilege. It is also subject to copyright. If you have
received it in error, confidentiality and privilege are not waived and
you must not disclose or use the information in it. Please notify the
sender by return email and delete it from your system. Any personal
information in this email must be handled in accordance with the Privacy
Act 1988 (Cth).
        
        
************************************************************************
*
        

        _______________________________________________
        Users mailing list
        [email protected]
        http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
        
        _______________________________________________
        Users mailing list
        [email protected]
        http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
        
        



************************************************************************
 
Allens Arthur Robinson online: http://www.aar.com.au
 
This email is confidential and may be subject to legal or other professional 
privilege. It is also subject to copyright. If you have received it in error, 
confidentiality and privilege are not waived and you must not disclose or use 
the information in it. Please notify the sender by return email and delete it 
from your system. Any personal information in this email must be handled in 
accordance with the Privacy Act 1988 (Cth).
 
*************************************************************************
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to