CBitmapButton * m_btnPTZ;
void CCls::A()
{
m_btnPTZ = new CBitmapButton ; ASSERT_VALID(m_btnPTZ);
m_btnPTZ->AutoLoad( IDC_BTNPTZ,this);
m_btnPTZ->LoadBitmaps(IDB_BITMAP_PTZ);
}
void CCls::B()
{
m_btnPTZ->LoadBitmaps(IDB_BITMAP_PTZ);
m_btnPTZ->Invalidate();
}我在程序中就这么多地方用到指针m_btnPTZ,调用顺序是先调用A(),然后调用B()。
在exe程序中没问题。把代码弄到ocx里面,release版本没有问题,可是debug版本当调用B()的时候,m_btnPTZ变NULL了.
另外,当我把函数B()改为:
void CCls::B()
{
m_btnPTZ->Invalidate();
}
这样指针就不会变NULL。请问是怎么回事?望大家帮忙解决。谢谢了!
void CCls::A()
{
m_btnPTZ = new CBitmapButton ; ASSERT_VALID(m_btnPTZ);
m_btnPTZ->AutoLoad( IDC_BTNPTZ,this);
m_btnPTZ->LoadBitmaps(IDB_BITMAP_PTZ);
}
void CCls::B()
{
m_btnPTZ->LoadBitmaps(IDB_BITMAP_PTZ);
m_btnPTZ->Invalidate();
}我在程序中就这么多地方用到指针m_btnPTZ,调用顺序是先调用A(),然后调用B()。
在exe程序中没问题。把代码弄到ocx里面,release版本没有问题,可是debug版本当调用B()的时候,m_btnPTZ变NULL了.
另外,当我把函数B()改为:
void CCls::B()
{
m_btnPTZ->Invalidate();
}
这样指针就不会变NULL。请问是怎么回事?望大家帮忙解决。谢谢了!
很花功夫的