for(int i=0;i<1000;i++)
{
CBrush br1;
br1.CreateSolidBrush (tpcolor[i]);
mem.SelectStockObject(NULL_PEN);
mem.SelectObject(&br1);
mem.Rectangle(a+1,b+1,a+m_nZoom+1,b+m_nZoom+1);
br1.DeleteObject();
}这个好还是
CBrush br1;
for(int i=0;i<1000;i++)
{
br1.CreateSolidBrush (tpcolor[i]);
mem.SelectStockObject(NULL_PEN);
mem.SelectObject(&br1);
mem.Rectangle(a+1,b+1,a+m_nZoom+1,b+m_nZoom+1);
}
br1.DeleteObject();
还有就是我要是只
for(int i=0;i<1000;i++)
{
CBrush br1;
br1.CreateSolidBrush (tpcolor[i]);
mem.SelectStockObject(NULL_PEN);
mem.SelectObject(&br1);
mem.Rectangle(a+1,b+1,a+m_nZoom+1,b+m_nZoom+1);
}
这样会出现什么错误~
还有就是我的软件在XP下是可行的,可现在在98下就是不行了,会出现这样的错误
tpcolor[i]中的颜色很少有的一样的~~~~~~
{
CBrush br1;
br1.CreateSolidBrush (tpcolor[i]);
mem.SelectStockObject(NULL_PEN);
mem.SelectObject(&br1);
mem.Rectangle(a+1,b+1,a+m_nZoom+1,b+m_nZoom+1);
br1.DeleteObject();
}这个好还是
CBrush br1;
for(int i=0;i<1000;i++)
{
br1.CreateSolidBrush (tpcolor[i]);
mem.SelectStockObject(NULL_PEN);
mem.SelectObject(&br1);
mem.Rectangle(a+1,b+1,a+m_nZoom+1,b+m_nZoom+1);
}
br1.DeleteObject();
还有就是我要是只
for(int i=0;i<1000;i++)
{
CBrush br1;
br1.CreateSolidBrush (tpcolor[i]);
mem.SelectStockObject(NULL_PEN);
mem.SelectObject(&br1);
mem.Rectangle(a+1,b+1,a+m_nZoom+1,b+m_nZoom+1);
}
这样会出现什么错误~
还有就是我的软件在XP下是可行的,可现在在98下就是不行了,会出现这样的错误
tpcolor[i]中的颜色很少有的一样的~~~~~~
袜机制板 在 0167:004119a0 的模块
袜机制板.EXE 中导致无效页错误。
{
CBrush br1;
br1.CreateSolidBrush (tpcolor[i]);
CPen *pPenOld = mem.SelectStockObject(NULL_PEN);
CBrush *pBrushOld = mem.SelectObject(&br1);
mem.Rectangle(a+1,b+1,a+m_nZoom+1,b+m_nZoom+1);
mem.SelectStockObject(pBrushOld);
mem.SelectStockObject(pPenOld);
br1.DeleteObject();
}
br1.CreateSolidBrush (RGB(255,0,0);
CPen *pPenOld = mem.SelectStockObject(NULL_PEN);
CBrush *pBrushOld = mem.SelectObject(&br1);
for(int i=0;i<1000;i++)
{
br1.CreateSolidBrush (tpcolor[i]);
mem.SelectStockObject(NULL_PEN);
mem.SelectObject(&br1);
mem.Rectangle(a+1,b+1,a+m_nZoom+1,b+m_nZoom+1);
}
mem.SelectStockObject(pBrushOld);
mem.SelectStockObject(pPenOld);
br1.DeleteObject();
不是说循环里放的东西越少越好吗~?
在for循环里,不断地create,selectobject,但没有再恢复,其结果就是资源泄漏。
记住,每个selectobject(newobject)都要有配套的selectobject(oldobject)
for(int i=0;i<1000;i++)
{
br1.CreateSolidBrush (RGB(255,0,0);
CPen *pPenOld = mem.SelectStockObject(NULL_PEN);
CBrush *pBrushOld = mem.SelectObject(&br1);
mem.Rectangle(a+1,b+1,a+m_nZoom+1,b+m_nZoom+1);
mem.SelectStockObject(pBrushOld);
mem.SelectStockObject(pPenOld);
br1.DeleteObject();
}
不是说循环里放的东西越少越好吗~?
这有什么乱的?选进资源就需要选出,一一对应。