Oh, I see, in that case you want:

eng.ImportModule("mymodule");

ImportModule is an extension method declared in the Python class so alternately 
you can do:

Python.ImportModule(eng, "myModule");

From: users-boun...@lists.ironpython.com 
[mailto:users-boun...@lists.ironpython.com] On Behalf Of Renaud Durand
Sent: Wednesday, January 21, 2009 8:12 AM
To: Discussion of IronPython
Subject: Re: [IronPython] Calling a Python function (compiled into an assembly) 
from C# using delegates.

That is the point. I don't want to do that from a file but from an Assembly 
(dll).
2009/1/21 Dino Viehland <di...@microsoft.com<mailto:di...@microsoft.com>>

You need to do:



eng.ExecuteFile('myfile.py', scope);



From: 
users-boun...@lists.ironpython.com<mailto:users-boun...@lists.ironpython.com> 
[mailto:users-boun...@lists.ironpython.com<mailto:users-boun...@lists.ironpython.com>]
 On Behalf Of Renaud Durand
Sent: Wednesday, January 21, 2009 7:45 AM
To: d...@nomadlife.org<mailto:d...@nomadlife.org>; Discussion of IronPython
Subject: Re: [IronPython] Calling a Python function (compiled into an assembly) 
from C# using delegates.



Ok, but how ?

2009/1/21 Dody Gunawinata 
<empirebuil...@gmail.com<mailto:empirebuil...@gmail.com>>

I think you have to import the function - loading the assembly alone is not 
enough.

On Wed, Jan 21, 2009 at 5:17 PM, Renaud Durand 
<renaud.durand.it<http://renaud.durand.it>@gmail.com<http://gmail.com>> wrote:

Hi again,

I'm trying to call a python function from C#. I found out through a tutorial 
how to do it from
a Python source file but I would like to do it from a compiled assembly. Some 
elements are missing.
I think it is something like below but this does not work:

            eng = Python.CreateEngine()
            Assembly interpreter = Assembly.Load("interpreter");
            eng.runtime.LoadAssembly(interpreter);

            ScriptScope scope = eng.CreateScope();

            //Get the interpretMapping function
            Func<string, object> interpretMapping;
            interpretMapping = scope.GetVariable<Func<string, 
object>>("interpretMapping");
            ObjectOperations ops = eng.Operations;

            //Get the interpItem returned by function.
            object item = 
interpretMapping("649AC0165011B1E8F726AC54C911000000000000000000000000000000000000");
            //Get the display Method
            object method = ops.GetMember(item, "display");
            ops.Call(method);

Thank you... Again :-)

--
Renaud Durand
EPITA Student

_______________________________________________
Users mailing list
Users@lists.ironpython.com<mailto:Users@lists.ironpython.com>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com



--
nomadlife.org<http://nomadlife.org>

_______________________________________________
Users mailing list
Users@lists.ironpython.com<mailto:Users@lists.ironpython.com>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com



--
Renaud Durand

_______________________________________________
Users mailing list
Users@lists.ironpython.com<mailto:Users@lists.ironpython.com>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com



--
Renaud Durand
_______________________________________________
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to