Re: Thread and Timer
If you want to set a timer in the thread from a dialog in your main thread,
then you will have to post a user defined message to the thread to tell it
to set the timer. You can't just call a method in your thread. As Scott
has already pointed out it will be setting the timer for the calling thread
(which is the main thread)
void CMyDialog::SetTimerInThread()
{
m_pThread->PostThreadMessage(WM_SETTIMER,0,0);
or
::PostThreadMessage(ThreadID,WM_SETTIMER,0,0);
}
//in message map of thread
ON_THREAD_MESSAGE(WM_SETTIMER,OnSetTimer)
void CMyThread::OnSetTimer(WPARAM,LPARAM)
{
SetTimer(NULL,1000,0,NULL);
}
AliR.
"Stefano" <posting@hotmail.it> wrote in message
news:2c52ebfa-7018-4e52-9eff-2f6898eeb6e9@e6g2000prf.googlegroups.com...
BOOL CMyThread::InitInstance()
{
m_TimerID = SetTimer(NULL,0,5000,NULL);
return TRUE;
In this way works. But If I add a method
void CMyThread::Monitor(...)
{
m_TimerID = SetTimer(NULL,0,5000,NULL);
}
and I call from my dialog, the timer was set but OnTimer was never
called.
(Sorry I'm new to thread maybe Im doing something wrong)