Если я попытаюсь получить доступ к элементам управления XAML внутри задачи (и задача :: then), мое приложение Metro XAML всегда останавливается с исключением. Тот же код работает без каких-либо проблем вне задачи. Я не нашел ответа - что я пропустил? Как сообщаетИсключение доступа к элементам управления XAML внутри задачи
VS11 Debugger: Параллельное :: 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