[IronPython] How do I run python functions and make the python code remember variables between calls from C#?
BlackMan890
blackman at simnet.is
Wed Mar 18 08:47:30 CET 2009
Hi there.
When I run the following .py from C#:
--- test.py ----------------
global crap
crap = None
def set_crap():
crap = "yay"
def return_crap():
return crap
---------------------------
And run the functions set_crap and return_crap from C# using the following
code:
--- program.cs ----------------
--- Code is not being displayed right here, view the uploaded file I sent
---
-------------------------------
static void Main(string[] args)
{
ScriptEngine engine = Python.CreateEngine();
ScriptSource source = engine.CreateScriptSourceFromFile("test.py");
ScriptScope scope = engine.CreateScope();
try
{
source.Execute(scope);
}
catch (Exception ex)
{
ExceptionOperations eo = engine.GetService<ExceptionOperations>();
Console.WriteLine(eo.FormatException(ex));
}
SetData = scope.GetVariable<Func>("set_crap");
GetData = scope.GetVariable<Func>("return_crap");
SetData();
object temp = GetData();
Console.ReadLine();
}
static Func SetData;
static Func GetData;
-------------------------------
The code compiles and runs but "temp" is always null.
How would one go of running IronPython while maintaining all variables
inside python?
Cause the way I see it, whenever I run a function, all variables are
resettet.
Sincerely:
Jonatan Nilsson
Iceland
P.S.
I am using IronPython 2.0.1
P.P.S.
Your documentation for C# using IronPython 2.0.1 are nonexistant :S Where
are the documentation on using IronPython 2.0.1 in C#?
http://www.nabble.com/file/p22570584/program.cs program.cs
--
View this message in context: http://www.nabble.com/How-do-I-run-python-functions-and-make-the-python-code-remember-variables-between-calls-from-C---tp22570584p22570584.html
Sent from the IronPython mailing list archive at Nabble.com.
More information about the Ironpython-users
mailing list