如果我嘗試訪問任務內的XAML控件(和task :: then),我的Metro XAML應用程序總是停止並出現異常。相同的代碼在任務外沒有任何問題。我沒有找到任何答案 - 我錯過了什麼?異常訪問任務中的XAML控件
VS11調試器報告:併發:: unobserved_task_exception
例外:應用程序調用這是編組爲一個不同的線程的接口。
非常感謝您的幫助!
void MyClass::MyMemberFunction()
{
xamlStoryboard->Stop(); // ok
xamlImage->Source = ref new BitmapImage(); // ok
task<void> atask([this]()
{
xamlStoryboard->Stop(); // exception!
xamlImage->Source = ref new BitmapImage(); //exception!
});
atask.then([this]()
{
xamlStoryboard->Stop(); // exception!
xamlImage->Source = ref new BitmapImage(); //exception!
});
}
的atask.then()延續代碼運行無一例外如果我們增加task_continuation_context :: use_current() 作爲第二個參數:
atask.then([this]()
{
xamlStoryboard->Stop(); // now ok!
xamlImage->Source = ref new BitmapImage(); // now ok!
}, task_continuation_context::use_current());
你有什麼異常? – animaonline
已更新問題 - VS11調試器報告:Concurrency :: unobserved_task_exception – Telestes
這並沒有說太多,它是否有內部異常? – animaonline