So, if I understand this right, you have user code, which you need to run each
time first ... and then your code which you want to run once after. Something
like:
// when your app starts, or something, compile your code, but don't run yet
var compiledCode = engine.CreateScriptSourceFromString(code).Compile();
// do other stuff ....
// execute user code
var userScope = engine.ExecuteFile("usercode.py");
// run your code in the user's code's scope
compiledCode.Execute(userScope);
From: [email protected]
[mailto:[email protected]] On Behalf Of R. Bear Smith
Sent: Monday, March 02, 2009 11:54 AM
To: [email protected]
Subject: [IronPython] CustomSymbolDictionary question
Hi all,
I have a situation where I need to run a script many times with a different
scope each time. I want to be able to substitute an instance of a class each
time it is asked for. For example,
x = MyCSharpClass()
Using CustomSymbolDictionary I am able to store the class created on the first
call and then substitute it for every additional call to x from different
scopes. While this works to provide the same class instance to every scope, a
new class is being created on every call and replaced with the original class.
Is there a way to only create the class once. The script will be user code so
I have no prior knowledge of variable names and such. Any ideas would be
appreciated.
Thanks
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com