读书人

小弟我用MFC中的定时器Timer程序可以正

发布时间: 2012-08-02 11:35:25 作者: rapoo

我用MFC中的定时器Timer程序可以正常运行,但是换成多媒体定时器后,运行2分钟,3分钟后就死机?
TimerID=timeSetEvent(48,1,&TimerCallBack,(DWORD)this,1);

void CALLBACK CDlg::TimerCallBack(UINT uTimerID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2)
{
CDlg_UDP * pThis=(CDlg_UDP*)dwUser;//由this指针获得实例的指针
pThis->OnTimer(1);//这儿直接调用的Timer消息处理中的OnTimer函数
}


一共,就改了这么点东西,哪位高手指点一下,可能是哪方面的问题

[解决办法]
改成这个样子试试:
void CALLBACK CDlg::TimerCallBack(UINT uTimerID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2)
{
if( m_ReEntry )
{
m_ReEntry = true;
CDlg_UDP * pThis=(CDlg_UDP*)dwUser;//由this指针获得实例的指针
pThis->OnTimer(1);//这儿直接调用的Timer消息处理中的OnTimer函数
m_ReEntry = false;
}
}
m_ReEntry 为重入标记,初始值为false

读书人网 >C++

热点推荐