[IronPython] CustomSymbolDictionary question

Jimmy Schementi Jimmy.Schementi at microsoft.com
Mon Mar 2 21:09:54 CET 2009


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: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of R. Bear Smith
Sent: Monday, March 02, 2009 11:54 AM
To: users at lists.ironpython.com
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20090302/9fe4fc11/attachment.html>


More information about the Ironpython-users mailing list