內存泄漏之CFormView 中使用 OLE (或 .net com) 控件後發生內存泄漏

在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控件的時候需要初始化一些東西,動態生成放上去的控件可能不執行這初始化步驟,所以放置一個靜態控件,然程序啓動時初始化一些需要的東西,問題解決。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章