我做了一个项目,是在SDI中显示两个非模式对话框读取数据库,就像CRecordView的样子。在Win2000下,编译运行都没问题。但在98下面重新编译运行,不停的切换对话框(使用ShowWindow()),不久就说必须的资源无法得到。但我看不出来资源泄漏在那里。我也没有用new创建什么东西啊。
高手有什么建议?

解决方案 »

  1.   

    可能是你的对话框不是隐藏、而是每次都创建,但又没有destroy。
      

  2.   

    使用了CBitmap, CPen, Cbrush, CFont 等一类的东西没选出
      

  3.   

    每一个SelectObject() 必须一个SelectObject()相对应
      

  4.   

    我用的对话框是类变量的一个指针,在构造函数里用new生成实例,每次都是使用指针->ShowWindow(SW_SHOW 或 SW_HIDE);我使用CBitmap, CPen, Cbrush, CFont 等一类的东西前都用了pDC->SaveDC()
    用完后使用pDC->RestoreDC(-1); 应该没有问题的啊。
    而且在Win2000下也没类似的问题啊,只有98下不行。
      

  5.   

    建议在windows 2000下作的程序不应该在windows 98上用
    如应用环境是windows 98 最好在98上开发