类似的对GetActiveDocument()的调用在vc6的最简单的mdi程序的CXXXView::OnLButtonDblClk(UINT nFlags, CPoint point)中调用是成功的.
output窗口里面看到说检测到内存泄露:
The thread 'Win32 Thread' (0xe28) has exited with code 3 (0x3).
The thread 'Win32 Thread' (0xaa4) has exited with code 3 (0x3).
The thread 'Win32 Thread' (0xc8c) has exited with code 3 (0x3).
The thread 'Win32 Thread' (0xed0) has exited with code 3 (0x3).
The thread 'Win32 Thread' (0xcbc) has exited with code 3 (0x3).
The thread 'Win32 Thread' (0x634) has exited with code 3 (0x3).
Detected memory leaks!
类QCTPMdSpi的定义:class QCTPMdSpi : public CThostFtdcMdSpi
#include "StdAfx.h"
#include "QCTPMdSpi.h"
#include "ctp7Doc.h"
#include "ctp7View.h"
.....
void QCTPMdSpi::OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData)
{
CMDIFrameWnd *pFrame = (CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
CMDIChildWnd *pChild = (CMDIChildWnd*)pFrame->GetActiveFrame();
CDocument *pDoc = pChild->GetActiveDocument();
......
}
5 个解决方案
#1
大家再帮忙看看吧,真的希望把这个问题解决了
#2
看下pChild 的值是否是一个有效的值,在 CDocument *pDoc = pChild->GetActiveDocument();之前
#3
你怎么确定你的这个函数存在内存泄露的问题的?
#4
其实问题并没有解决, 对我来说是没有满意的帖子的, 但如果选"无满意帖子"结帖不会有积分返还, 我只能给这二位发分了.
#5
我现在还差几分, 连一个问题都发不了了
#1
大家再帮忙看看吧,真的希望把这个问题解决了
#2
看下pChild 的值是否是一个有效的值,在 CDocument *pDoc = pChild->GetActiveDocument();之前
#3
你怎么确定你的这个函数存在内存泄露的问题的?
#4
其实问题并没有解决, 对我来说是没有满意的帖子的, 但如果选"无满意帖子"结帖不会有积分返还, 我只能给这二位发分了.
#5
我现在还差几分, 连一个问题都发不了了