[IronPython] [python] Re: IronPython & Silverlight

Craig S. Perler 04 Craig.S.Perler.04 at Alum.Dartmouth.ORG
Sat Jan 26 20:54:56 CET 2008


The DLLs I'm currently referencing and experiencing 
problems with are the ones that downloaded with 
Silverlight 1.1...

---Discussion of IronPython <users at lists.ironpython.com> 
wrote ---
Craig S. Perler 04 wrote:
> Hi Jimmy,
>
> You're correct, I'm trying to host IronPython in an 
> existing C# SL app and I would like to use the .NET 
> libraries from IronPython.  I hadn't realized or 
noticed, 
> however, that the dlls shipped with SL are not the same 
as 
> those available for production use from IronPython 
> directly.  My app references IronPython.dll version 
> 2.0.0.0, runtime version 2.0.50727, file version 
> 1.1.20625.0.  Is there a more appropriate and still SL 
> compatible version to use?
>
>   

What is the reason not to use the version of IronPython 
that ships with 
Silverlight?

To use any other you will have to compile from source, 
targeting 
Silverlight. This should work though - you shouldn't just 
drop in DLLs 
that weren't compiled for Silverlight.

What you are aiming to do seems straightforward enough.

Michael

> That aside, the IronPython-relevant aspect of my app is 
> straightforward: grab a string from a textbox, pass it 
via 
> JavaScript to SL, and then attempt to execute it via 
> IronPython.
>
> The C# method that handles this process is below.  It 
> takes the string from JavaScript, and then executes it 
as 
> Python code.  For the sake of debugging at first at 
least, 
> it then assumes that a function "func" was defined, as 
> that's then evaluated.
>
>     [Scriptable]
>     public void Execute(string script)
>     {
>         try
>         {        
>             PythonEngine engine = 
> PythonEngine.CurrentEngine;
>             engine.Execute(script);
>             object result = engine.Evaluate("func()");
>         
>             if (result != null)
>             {
>                 Debug.WriteLine(result);
>             }
>         }
>         catch (Exception e)
>         {
>             Debug.WriteLine(e);
>         }
>     }
>
> Prior to any execution as per above, I initialize PAL 
> exactly as described here: 
> 
[http://www.voidspace.org.uk/ironpython/silverlight/embeddi
> ng_ironpython.shtml]. 
>
> Thoughts on what I'm doing wrong?
>
> Thanks again,
>
> -Craig
>
> ---Discussion of IronPython <users at lists.ironpython.com> 
> wrote ---
>   
>> Craig S. Perler wrote:
>>
>> I'm having problems accessing .NET libraries from
>> IronPython hosted within a Silverlight application and
>> have hit a wall. If you have any advice, I'd be most
>> appreciative!
>>     
>
> The work around for hosting IronPython in Silverlight 
1.1 
> is a little messy, since the DLR should take care of 
this 
> and not require the user's app to override the PAL. We 
are 
> revisiting this for the next release of Silverlight to 
> make it work well.
>
> I assume you'd like to host IronPython in an existing C# 
> SL app? If you can do without C# code, and without the 
> bleeding edge IronPython version ... you could just use 
> the IronPython version shipped in Silverlight. There are 
> samples on silverlight.net if you'd like examples on how 
> to do it.
>
>   
>> To describe my setup... I'm first initializing the
>> PlatformAdaptationLayer with the details described here
>>
>>     
> 
[http://www.voidspace.org.uk/ironpython/silverlight/embeddi
>   
>> ng_ironpython.shtml]. I'm not certain what exactly that
>> does, but it seems clear that no amount of fiddling 
>>     
> around
>   
>> in IronPython works without detailing the
>> ScriptEnvironmentSetup. With that in place, I see a bit 
>>     
> of
>   
>> progress: I can execute the script "def func():\r\n
>> return 'in Func()'" and then retrieve the result by
>> evaluating the script "func()".
>>
>> I've tried a variety of combinations to gain access to
>> System.DateTime from the Python script, but they all end
>> up with an error like the one below. Additionally, this
>> error is also similar to the one I receive when 
>>     
> attempting
>   
>> to call PythonEngine.ExecuteFile(string path), which I
>> have thus far been unable to get to work.
>>     
>
> Can you send me the source or a smaller repro of the 
> issue? Michael, did you run into any of these issues?
>
> ~Jimmy
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-
> ironpython.com
> --- End of quote ---
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-
ironpython.com
>
>
>   

_______________________________________________
Users mailing list
Users at lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-
ironpython.com
--- End of quote ---



More information about the Ironpython-users mailing list