在自己的类中, 调用GetActiveDocument()总是出错

时间:2022-03-04 18:32:46
环境:VS2005
类似的对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


我现在还差几分, 连一个问题都发不了了