鸡啄米
最新评论及回复
-
4168. 失眠的孩子先看到明天:
历经千辛万苦终于做出来了。发现犯了两个错误。第一:把OnTimer添加到了CAboutDlg类下,原本应该在CExample50Dlg类下。不知道这个是什么区别。出错之后DrawWave函数显示没有被定义。第二:我把定义数组的程序放在了头文件调用程序的下方,而他原本应该放在为类定义函数,变量的那个函数里边。放在头文件调用程序下之后,显示这个数组被重复定义了。不知道为什么。。2016/9/16 16:52
-
4167. 黑色石头:
鸡啄米辛苦啦,给了我很多帮助!感谢!2016/9/13 15:54
-
4166. 老四:
我基本上看懂你写的代码,但是你GetDC 没有释放DC 内存已经溢出了。AngelEagle 于 2018-11-29 11:27:47 回复这位仁兄!请问,运行一段时间后,程序会Crash掉,在wingdi.cpp 的CBrush* CDC::SelectObject(CBrush* pBrush)函数中 ASSERT(m_hDC != NULL);出错。是不是由于CDC对象没有释放的原因呢!我在OnTimer()最后面添加了ReleaseDC(m_waveDraw.GetDC());运行时间长一点,但是Crash在afxwin32.inl
_AFXWIN_INLINE int CWnd::ReleaseDC(CDC* pDC)
{ ASSERT(::IsWindow(m_hWnd)); return ::ReleaseDC(m_hWnd, pDC->m_hDC); }
这个问题该如何解决呢?
AngelEagle 于 2018-11-29 11:29:39 回复或者说我该如何正确地RealeaseDC呢。AngelEagle 于 2018-11-29 13:00:06 回复知道如何RealeaseDC 了,在OnTimer()中 将绘制波形图的那句改成这样
//绘制波形图
CDC *pDC = this->GetDC();
DrawWave(pDC, rectPicture);
在CDialog::OnTimer(nIDEvent);后添加
ReleaseDC(pDC);
这样就OK了,中午吃饭运行一个多小时没问题,通过资源管理器查看该进程的内存情况,发现变化不大,没RealeaseDC之前内存会持续增长,我的达到10936就挂了。应该就是这样了
2016/9/13 15:48
-
4165. 远见的见远:
按照文章说的又添加了一个函数 InitAllCheckBoxStatus,就调试出来了,但是IDC_PORTAL_RADIO,ON_BN_CLICKED,IDC_CHECK1~6显示的是未定义标识符,不知道是不是vs的问题2016/9/13 14:57
-
4164. PHP程序员雷雪松:
是的,不错!!!2016/9/12 17:33