Yep, my apologies it was some errant code that was tripping me up - nothing to do with IP in the end (thankfully :)
> -----Original Message----- > From: [EMAIL PROTECTED] [mailto:users- > [EMAIL PROTECTED] On Behalf Of Shri Borde > Sent: Tuesday, 4 July 2006 5:10 a.m. > To: Discussion of IronPython > Subject: Re: [IronPython] __main__ module and global variables issue... > > There should be nothing special about the default scope, other than the > fact that all the PythonEngine APIs like Evaluate, Execute have an > overload that implicitly operate on the default scope. The DefaultScope is > created just like any other scope. > > Is it possible that you are executing some code that sets the values of > your variables to None? You could put a breakpoint in ModuleScope.SetLocal > and ModuleScope.SetGlobal to watch for all assignments. > > Do you want to help develop Dynamic languages on CLR? > (http://members.microsoft.com/careers/search/details.aspx?JobID=6D4754DE- > 11F0-45DF-8B78-DC1B43134038) > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:users- > [EMAIL PROTECTED] On Behalf Of Alex Henderson > Sent: Saturday, July 01, 2006 9:46 PM > To: 'Discussion of IronPython' > Subject: [IronPython] __main__ module and global variables issue... > > Our system is using IP for an expression engine - in most cases we are > creating a new ModuleScope and evaluating against it, which works fine ie. > On setup we assign some global variables, and generate functions on the > fly > for the lifetime of the module which are evaluated, and thrown away after > use. > > However I've also been using the default module scope for evaluating some > expressions, and I seem to be getting some odd behavior... where any > global > variables we've assigned (in this case, "_container", "_log" and > "_config") > at some indeterminate point end up reverting to None values - the names > still exist, but the references to the class instances have gone. > > This is only happening for the default module scope, everything works as > expected when we create our own module scope... and there's no code being > executed other then that which sets the global variables in the first > place, > which is definitely assigning non-null values (I've changed the methods to > set then fetch the value to make sure). > > Is there perhaps something different between a scope I've created using > new > ModuleScope(), and the PythonEngine's DefaultModuleScope with regards to > global variables? > > Chez, > > - Alex > > _______________________________________________ > 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 _______________________________________________ users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
