BOOL work;// глобальная
void Print()
{
while (work)
{
.....
}
}
void PrintThreadStart()
{
Print();
}
void C123Dlg::OnBnClickedOk() //старт
{
work=true;
DWORD id;
hThread = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)&PrintThreadStart, 0, 0, &id);
}
void C123Dlg::OnBnClickedCancel() //стоп
{
work=false;
}
бесконечный цикл в mfc
создаю приложение с использованием mfc. имеются 2 кнопки (старт и стоп) и listbox.
нажимаю старт и в безконечном цикле у меня выполняются действия, и выводится некоторые данные в listbox. но вот проблема что приложение при это повисает.
плиз подскажите как правильно организовать запуск бесконечного цикла, чтобы приложение не повисало и можно было при необходимости остановить цикл
зарание спасибо
Тоесть в потоке что-нить вроде
if (WaitForSingleObject(hStopEvent, 0) == WAIT_OBJECT_0)) break;
Класс MFC для создания потоков - CWinThread. Его описание смотри в MSDN.
статья по теме)
Вот
спасибо за советы, теперь создал отдельный поток и все нормально прорисовывается но теперь не получается остановить. при остановке прога просто вылетает, без сообщение о дебаге