用多媒体定时器定时向cview发送消息,运行中正常,但是软件退出是出错。
在view响应菜单项中启动定时器,如下
TimerID1 = timeSetEvent(100, wAccuracy,
(LPTIMECALLBACK) callBackProc,
(DWORD)this,TIME_PERIODIC);
在callBackProc中发送消息
void PASCAL callBackProc(UINT wTimerID, UINT msg,DWORD dwUser,DWORD dwl,DWORD dw2)
{
CTestView *timer =(CTestView *)dwUser;
timer->PostMessage(WM_USERMSG01,0,0);
}
在WM_USERMSG01消息响应方法中输出数字
void CTesthwndView::OnMyTimerMessage()
{
CClientDC dc(this);
CTime time;
time=CTime::GetCurrentTime( );
static UINT i;
CString str;
str.Format("%d",i);
dc.TextOut(10,10,str,str.GetLength());
i++;
}
软件退出时崩溃,提示访问的内存不能为read.
请不吝赐教,急盼多媒体定时器 cview 消息响应
在view响应菜单项中启动定时器,如下
TimerID1 = timeSetEvent(100, wAccuracy,
(LPTIMECALLBACK) callBackProc,
(DWORD)this,TIME_PERIODIC);
在callBackProc中发送消息
void PASCAL callBackProc(UINT wTimerID, UINT msg,DWORD dwUser,DWORD dwl,DWORD dw2)
{
CTestView *timer =(CTestView *)dwUser;
timer->PostMessage(WM_USERMSG01,0,0);
}
在WM_USERMSG01消息响应方法中输出数字
void CTesthwndView::OnMyTimerMessage()
{
CClientDC dc(this);
CTime time;
time=CTime::GetCurrentTime( );
static UINT i;
CString str;
str.Format("%d",i);
dc.TextOut(10,10,str,str.GetLength());
i++;
}
软件退出时崩溃,提示访问的内存不能为read.
请不吝赐教,急盼多媒体定时器 cview 消息响应
解决方案 »
- 奇怪问题求助。。。貌似没有找到对话框句柄
- vs2008中如何将CString转化为整数
- 移动位置同步发送到服务器上
- 如何在VC.NET2005的MFC程序中添加一个上下文相关菜单
- 蒋晟大哥,你在我的帖子里说,你用VS2005里的C++/CLI,都做哪方面开发呢,你说C++/CLI重要吗,以后是否会流行
- RecordSet的动态绑定问题!!
- 如何通过局域网来监控该网内私自拨号上INTERNET网的用户
- 无损转换!牛人请进!
- 再提一个菜鸟问题:我怎么样删除工程中不需要的文件啊?
- 我做了一个对话框程序,当操作系统把一个文件交给它打开时怎样得到那个文件名
- 谁能给出栅格数据矢量化的算法,用C++编写的!
- 如何处理多线程调用的dll中的变量
timeKillEvent(TimerID1);
timeSetEvent(wTimerRes_1ms, wAccuracy,
NULL,
(DWORD)this,TIME_PERIODIC);
仍然不行
timeKillEvent(TimerID1);不就是关定时器吗