今天Debug程序的时候遇到了报错:
程序运行时会在CHandleMap::RemoveHandle(HANDLE h)中出错的位置:
ASSERT(ph[1] == h);
造成原因:
程序中GetDC与DeleateDC匹配出错。
pDC=GetDC();
.......
pDC->DeleateDC(); //错误!
改正方法:
GetDC应该DeleateDC匹配,将DeleateDC替换为ReleaseDC。
pDC=GetDC();
.......
ReleaseDC(pDC); //正确!