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