[IronPython] OnVarChanged() - Repost
John Mancine
john at emergentlifetech.com
Wed Jun 21 22:43:03 CEST 2006
-- I'm reposting this because I saw that it didn't show up on my list. I
apologize if this turns into a dupe. --
Shri,
Thanks for the advice, but I actually noticed that when I do...
pyEngine.Execute("a=1"), I do not in fact hit ModuleScope.SetGlobal(), but I
do however hit ModuleScope.SetLocal(). I took your advice though and I
extended ModuleScope, but I found I had to override both SetGlobal and
SetLocal to catch all cases which works fine, but I feel like I'm shooting
in the dark a bit since I don't have a clear understanding as to what the
two versions are really for.
Care to shed some light on this? I am a bit lost as to what IronPython means
by 'local' and 'global' as it seems like they are very close to the same
thing in the sense that I can do engine.SetGlobal("a", 1) or
engine.Execute("a=1") and basically do the same thing but one goes through
SetGlobal() and one goes through SetLocal().
Take care,
John
> -----Original Message-----
> From: users-bounces at lists.ironpython.com [mailto:users-
> bounces at lists.ironpython.com] On Behalf Of Shri Borde
> Sent: Wednesday, June 21, 2006 2:00 PM
> To: Discussion of IronPython
> Subject: Re: [IronPython] OnVarChanged
>
> You should be able to declare a type that inherits from ModuleScope,
> and override ModuleScope.Get/SetGlobal. That should be the hook you
> need. Then you can use engine.Execute("a=1", myCustomModuleScope).
>
More information about the Ironpython-users
mailing list