CDC类的断言错误
我写了一段给框架加入滚动条以方便浏览位图的程序.
我在框架的View类的声明中加入了两个变量:
private:
CDC m_MemDC;
CBitmap m_BackBitmap;
然后在相对应的实现文件中的OnInitialUpdate()函数中对其
进行了初始化:
CDC* pDC= this->GetDC(); --1
m_MemDC.CreateCompatibleDC(pDC); --2
m_BackBitmap.LoadBitmap(IDB_BACKGROUND); --3
其他部分的代码都写好.编译,连接通过.但是在运行时跳出了
三个Debug Assertion Failed对话框.都是在wingdi.cpp中的断言.
分别在Line:109, 110, 1120.我用call stack 跟踪了一下,
call stack窗口中分别停在了CDC::Attach(HDC__ * 0xe70109fa) line 109 + 25 bytes
和CGdiObject::Attach(void * 0x2305177f) line 1120 + 28 bytes的地方.
好象程序是在初始化的第二,三行发生了错误.各位高手帮忙分析一下,如何排除?
另:我也曾经在一个用App Wizards自动生成的框架中写过这几段代码,没有任何问题.
我现在使用的这个框架中间使用了别人的代码,其中视图类并非直接继承自CSCrollView.
而是继承自自己改写的一个类,这个类从CScrollView中派生.因此我不能肯定是不是
他代码中其它代码的影响.