ScriptRuntime.LoadAssembly is the equivalent.  The only difference is there's 
no string overload so you need to pass it the actual Assembly object yourself 
which gives you control over how it gets loaded.

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Slide
Sent: Thursday, May 29, 2008 9:32 AM
To: Discussion of IronPython
Subject: Re: [IronPython] hosting and SetVariable

Ok, one more question and I should be good to go. I used to call
Microsoft.Scripting.ClrModule.GetInstance().AddReference to add
references from my hosting code. With the latest beta, I don't see
that anywhere and was wondering how to do this.

thanks

On Thu, May 29, 2008 at 8:42 AM, Slide <[EMAIL PROTECTED]> wrote:
> 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/
>



--
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

Reply via email to