pamire:有内存溢出问题
1. ListDlg.h:
CObList m_wndList;
afx_msg void OnEdit();
afx_msg void OnDestroy(); *****
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
2. ListDlg.cpp:
a.
m_pDB=new CDaoDatabase;
m_wndList.AddTail( m_pDB );
b.
m_pRecordSet=new CDaoRecordset(m_pDB);
m_wndList.AddTail( m_pRecordSet );
c.
m_pImageList = new CImageList();
m_wndList.AddTail( m_pImageList );
void CListDlg::OnDestroy()
{
CDialog::OnDestroy();
// TODO: Add your message handler code here
POSITION pos;
pos = m_wndList.GetHeadPosition();
while( pos )
{
CObject *ob = m_wndList.GetAt(pos);
if ( ob->GetRuntimeClass() == RUNTIME_CLASS(CImageList) )
{
delete (CImageList*)ob;
}
else if ( ob->GetRuntimeClass() == RUNTIME_CLASS(CDaoRecordset) )
{
delete (CDaoRecordset*)ob;
}
else if ( ob->GetRuntimeClass() == RUNTIME_CLASS(CDaoDatabase) )
{
delete (CDaoDatabase*)ob;
}
m_wndList.GetNext(pos);
}
}
(发表于2007-12-17 16:42:00)
..........................................................................
--------------------next---------------------
阅读(233) | 评论(0) | 转发(0) |