Я работаю над фоновыми работниками.Это то, что мне нужно сделать: вернуться из фонового работника, чтобы он вернулся в основной поток программы.Я использую приложение формы Windows, и после отмены фонового работника элемент управления должен быть возвращен обратно в форму, чтобы я мог снова вызвать ту же функцию.
Я добавил пример кода, так как код, который я использую внутрицикл while довольно большой.
void funtion1()
{
while(true)
{
if(backgroundWorker1->CancellationPending)
{
e->Cancel = true;
return ;
}
}
}
Примечание. В настоящее время, когда я выполняю ту же работу после остановки функции, возвращается System.NullReferenceException
. Я также заметил, что мое событие DOWORK () работает нормально.
Мне требуется остановить фоновый рабочий на backgroundWorker1->CancelAsync();
и снова запустить ту же функцию, используя backgroundWorker1->RunWorkerAsync();
.
Однако, когда я вызываю ту же функцию с фоновым рабочим, системабросает System.NullReferenceException
.
Почему выбрасывается System.NullReferenceException
и как я могу это исправить?