请教各位:win98“系统资源不足”是什么问题?

jimconrad 2001-01-03 11:58:00
我的多文件播放程序(使用mci命令)在win2000下正常工作,转到98下时,当播到第6段时出现“系统资源不足”模式对话框(win98系统弹出的),而且连续弹出i>=50个这样的模式对话框,使用强制结束后(若不强制结束,约在10秒钟后,系统当掉,出现蓝屏,而且不能返回,只能关电源)output窗口出现以下提示信息(总共重复了25次):

First-chance exception in MyProgram.exe (MSVCRTD.DLL): 0xE06D7363: Microsoft C++ Exception.

那位大虾碰到或知道这是怎么回事?
...全文
305 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
happylaodu 2001-01-04
  • 打赏
  • 举报
回复
程序运行中,常有导致资源耗尽的情况,多是有些资源没有及时释放所致。
CreateCompatibleDC必须用DeleteDC释放;
CreateCompatibleBitmap必须用DeleteObject释放。

凡用SelectObject选择的Object都要调用DeleteObject()把它释放。

删除brush时,相关的bitmap对象不会被删除,必须单独删除。
wooingcn 2001-01-04
  • 打赏
  • 举报
回复
WIN98的系统资源是有限的,你肯定哪里用了资源没有得到释放,而且是大批量的占用,查一查你的循环语句或是你的OnTimer()函数语句,把该释放的释放掉就没事了.
jimconrad 2001-01-04
  • 打赏
  • 举报
回复
hi
jimconrad 2001-01-04
  • 打赏
  • 举报
回复
感谢happylaodu快乐老杜!
jimconrad 2001-01-04
  • 打赏
  • 举报
回复
在2000下面我可以播放一百多段(以上)!
jimconrad 2001-01-04
  • 打赏
  • 举报
回复
感谢以上几位!
除了对象、变量没有及时删除引起的内存泄漏,我的程序中大概就只有mci资源没有释放了,我的释放方法是这样的
if (m_bPlaying || m_bPaused)
mciSendCommand (m_wDeviceID, MCI_STOP, NULL, NULL);
mciSendCommand (m_wDeviceID, MCI_CLOSE, MCI_CLOSE | MCI_WAIT, NULL);
是否已经将资源释放完毕?
jimconrad 2001-01-04
  • 打赏
  • 举报
回复
我已经装上了BoundsChecker,但是调试的时候奇慢,我已经很节省了,只让查内存泄漏一项,还是很慢,根本无法调试。一直听说vc自带有内存泄漏检测方法,在output中可以看到,可我一直没看到,请问:是不是在哪里需要设置一下?内存泄漏发生后,在output中是什么样的提示信息?
silver 2001-01-03
  • 打赏
  • 举报
回复
你肯定有资源没有释放干净,是不是mci对象打开了没有正确的关闭?或者什么其它的资源忘记释放了?
好好看看你的程序,应该不难发现的,实在找不到是什么地方的问题,去下一个BoundsCheck吧
http://www.driverdevelop.com/download.php
jimconrad 2001-01-03
  • 打赏
  • 举报
回复
有点急!
jimconrad 2001-01-03
  • 打赏
  • 举报
回复
对不起,弄错了,是“必须的资源无法得到”

6,849

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧