在formview上動態創建teechart8控件後,每次程序退出有16字節的內存泄漏,提示在viewform.cpp 裏的以下位置
_AFX_OCC_DIALOG_INFO *pOccDialogInfo = new
_AFX_OCC_DIALOG_INFO;
網上找到一個同病相憐的朋友的解決方案,經實驗還是無效
網友解決方案:
CXXView::CXXView()
: CFormView(CXXView::IDD) // 產生內存泄漏的行 by 舊日重來
{
}
改成
CXXView::CXXView()
: CFormView((LPCTSTR) NULL)
{
}
我們的解決方案
最後組內的一個同事說在formview上先放一個teechart8的控件,然後在代碼裏將其設置爲隱藏
運行後內存泄漏解決
思考其原因:可能是因爲formview在使用com控件的時候需要初始化一些東西,動態生成放上去的控件可能不執行這初始化步驟,所以放置一個靜態控件,然程序啓動時初始化一些需要的東西,問題解決。