Hi all,
is it possible to load IronPython engine in the background thread in Silverlight?

I tried to load it via BackgroundWorker:

private void UserControl_Loaded(object sender, RoutedEventArgs ev)
{
    IPloader = new BackgroundWorker();
    IPloader.DoWork += new DoWorkEventHandler((s, e) =>
        {
            runtime = DynamicEngine.CreateRuntime(true); // debug mode true
            engine = runtime.GetEngine("python");
        }
    );
IPloader.RunWorkerCompleted += new RunWorkerCompletedEventHandler((s, e) =>
    {
        this.textBlock1.Text = "IronPython loaded";
    }
    );
    IPloader.RunWorkerAsync();
}

It fails with the following exception:

System.UnauthorizedAccessException was unhandled by user code
  Message=Invalid cross-thread access.
  StackTrace:
       at MS.Internal.XcpImports.CheckThread()
at System.Windows.DependencyObject.GetValueInternal(DependencyProperty dp)
       at System.Windows.Deployment.get_Parts()
at Microsoft.Scripting.Silverlight.DynamicAppManifest.AssemblyParts()
       at Microsoft.Scripting.Silverlight.DynamicAppManifest..ctor()
       at Microsoft.Scripting.Silverlight.DynamicEngine.CreateLangConfig()
at Microsoft.Scripting.Silverlight.DynamicEngine.CreateRuntimeSetup(Boolean debugMode) at Microsoft.Scripting.Silverlight.DynamicEngine.CreateRuntime(Boolean debugMode) at SLHosting.MainPage.<UserControl_Loaded>b__0(Object s, DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
       at System.ComponentModel.BackgroundWorker.OnRun(Object argument)
  InnerException:

Thanks for any advice.

--
-- Lukáš

_______________________________________________
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to