SendMessage и последующий DoModal() из другого потока
От: Dron_II  
Дата: 25.11.02 09:26
Оценка:
Есть основной поток с главным окном. Порожденный от него поток AfxBeginThread(RUNTIME_CLASS( CDrawingThread)) вызывет SendMessage для отрисовки dlg.DoModal() в главном потоке. При этом все это вылетает нафик — но очень редко. Выглядит это примерно так:

theApp.drawing_thread=( CDrawingThread*)AfxBeginThread(RUNTIME_CLASS( CDrawingThread));

BOOL CDrawingThread::InitInstance()
{
while (true){
.......
ptr_child_view->SendMessage(WM_FULL_DIALOG_NEDEED,i,0);
.......
}

}

LRESULT CChildView::OnFullDialogNeeded(WPARAM wParam, LPARAM lParam)
{
CFullAfterDlg dlg;
try{
dlg.DoModal();
}
catch (...){
WriteLog("Жопа");
}
return 1L;
}
//ПОМОГИИИТЕ если могете ))
Re: SendMessage и последующий DoModal() из другого потока
От: MaximE Великобритания  
Дата: 26.11.02 09:31
Оценка:
Здравствуйте, Dron_II, Вы писали:

DI>Есть основной поток с главным окном. Порожденный от него поток AfxBeginThread(RUNTIME_CLASS( CDrawingThread)) вызывет SendMessage для отрисовки dlg.DoModal() в главном потоке. При этом все это вылетает нафик — но очень редко. Выглядит это примерно так:


А что за исключение или ошибка?
Re[2]: SendMessage и последующий DoModal() из другого потока
От: Dron_II  
Дата: 28.11.02 14:36
Оценка:
Здравствуйте, MaximE, Вы писали:

ME>Здравствуйте, Dron_II, Вы писали:


DI>>Есть основной поток с главным окном. Порожденный от него поток AfxBeginThread(RUNTIME_CLASS( CDrawingThread)) вызывет SendMessage для отрисовки dlg.DoModal() в главном потоке. При этом все это вылетает нафик — но очень редко. Выглядит это примерно так:


ME>А что за исключение или ошибка?


Я ее не класифицировал — протой catch заменил на PostMessage — хреново конечно но вылетать вроде перестало...(
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.