首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

小弟我用MFC中的定时器Timer程序可以正常运行,但是换成多媒体定时器后,运行2分钟,3分钟后就死机

2012-08-02 
我用MFC中的定时器Timer程序可以正常运行,但是换成多媒体定时器后,运行2分钟,3分钟后就死机?TimerIDtimeS

我用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

热点排行