Unfortunately there isn't any specific documentation. Can what you used to do be accomplished with the ObjectOperations class?
Otherwise there's a HostingHelpers.GetScope which you could use to get a Scope from a ScriptScope and you can probably re-use your old magic. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Slide Sent: Thursday, May 29, 2008 11:34 AM To: Discussion of IronPython Subject: Re: [IronPython] hosting and SetVariable Thanks that will be helpful. Is there any documentation specific to IronPython? I would like to do some introspection on modules and such (to retrieve types defined in the module and so forth) and I used to do that with some PythonType magic which doesn't seem to work anymore (ScriptScope is not convertable to Scope when calling Get__dict__). Thanks again! On Thu, May 29, 2008 at 10:11 AM, Seshadri Pillailokam Vijayaraghavan <[EMAIL PROTECTED]> wrote: > The latest Hosting API Spec is available at > http://compilerlab.members.winisp.net/. > It's available as both doc > (http://compilerlab.members.winisp.net/dlr-spec-hosting.doc) or PDF > (http://compilerlab.members.winisp.net/dlr-spec-hosting.pdf). > > Thanks > Sesh > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Slide > Sent: Thursday, May 29, 2008 8:42 AM > To: Discussion of IronPython > Subject: Re: [IronPython] hosting and SetVariable > > Apparently I need to update to the latest IP2.0 beta. I don't even see > CurrentManager.Globals, thanks for the info. > > On Thu, May 29, 2008 at 8:37 AM, Dino Viehland > <[EMAIL PROTECTED]> wrote: >> What you want to do is put the variables in >> ScriptDomainManager.Globals/ScriptRuntime.Globals and then you can import >> them. For example: >> >> ScriptDomainManager.CurrentManager.Globals.SetVariable("hello_world", "hi!"); >> >> Then you can do: >> >> import hello_world >> >> and we'll pick it up from globals. Just FYI IronPython.Hosting.PythonEngine >> is going away (along w/ CurrentEngine) so you're better off creating a >> ScriptRuntime and getting a ScriptEngine from it by name. >> >> -----Original Message----- >> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Slide >> Sent: Thursday, May 29, 2008 8:14 AM >> To: Discussion of IronPython >> Subject: [IronPython] hosting and SetVariable >> >> Perhaps this is just missing knowledge on my part, but here goes. >> >> I am using IP2.0 with the hosting API to add scripting support to my >> application. I use the following code to create my main module from >> the script file the user selects: >> >> ICompiledCode code = >> IronPython.Hosting.PythonEngine.CurrentEngine.Compile(SourceUnit.CreateFileUnit(_context, >> path), _error_sink); >> __main__ = code.MakeModule("__main__") as ScriptScope; >> >> // create our module. >> ScriptDomainManager.CurrentManager.PublishModule(__main__, "__main__"); >> >> // add all the references the "Host" wanted. >> foreach (string assembly in _assemblies) >> >> Microsoft.Scripting.ClrModule.GetInstance().AddReference(Path.GetFileNameWithoutExtension(assembly)); >> >> // set all the variables that the "Host" wanted set. >> foreach (KeyValuePair<string, object> obj in _objects) >> __main__.SetVariable(obj.Key, obj.Value); >> >> The last foreach is setting up my object model which is available to >> my scripts. My problem arises when I want to use one of these >> variables from a script that is imported from the user selected script >> file. >> >> For instance, if I add an object _objects.Add("MyObj", someObj), I can >> reference that object in the user script as MyObj with no problem. >> What I would like to do is have these variables global to all scripts >> that are imported, etc. I tried import __main__ in my other scripts, >> but __main__ doesn't show up in sys.modules (which is what I thought >> PublishModule would do, but thats a different story). >> >> Am I going about this the wrong way? >> >> Thanks >> >> slide >> >> -- >> slide-o-blog >> http://slide-o-blog.blogspot.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 >> > > > > -- > slide-o-blog > http://slide-o-blog.blogspot.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 > -- slide-o-blog http://slide-o-blog.blogspot.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
