[IronPython] [python] Re: IronPython & Silverlight
Michael Foord
fuzzyman at voidspace.org.uk
Sat Jan 26 19:44:21 CET 2008
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
>
>
>
More information about the Ironpython-users
mailing list