读书人

对话框中操作视类指针出错的有关问题?

发布时间: 2012-01-20 18:53:53 作者: rapoo

对话框中操作视类指针出错的问题?急救
在View中新建对话框,然后在对话框的onok中定义:
CM_XXXView* m_pView = (CM_XXXView* )GetParent();
获得视图指针

但只要是对该视图指针中的数据进行操作,如m_pView-> item_index ++就会在整个应用程序关闭时出错,为什么呢?

视图指针的对象是在什么时候建立和销毁的呢?


[解决办法]
你不能写一个函数setindex,供调用啊?在调用前用ASSERT(pview),
[解决办法]
在调用m_pView-> item_index ++前用ASSERT(pview), 看看m_pView是不是已经能够被销毁了 是的话就改一改代码 确保调用之前 m_pView有效
[解决办法]
CM_XXXView* m_pView = (CM_XXXView* )GetParent();
获得视图指针
这样子不保险。最好是在对话框中定义 CM_XXXView *m_pView;
然后对话框的构造函数中增加视图参数。这样,让对话框启动时,视图类将其this对象传递给对话框,肯定不会有问题。

读书人网 >VC/MFC

热点推荐