有三个类,Base,Class1,Class2,
现在分别在Class1,Class2中定义各自的成员变量Base *m_BaseCtrl;
Class1,Class2使用Base基本相同,假设Class1是进行加密处理,Class2进行解密处理,Base中是对对象的加解密处理模块,在Class1加密/Class2解密的相应位置进行如下代码:
if(m_BaseCtrl==NULL)
{
m_BaseCtrl = new Base;
m_BaseCtrl进行初始化工作;
}
进行加密/解密处理;当然在Class1和Class2的构造函数中m_BaseCtrl=NULL,在析构函数中delete m_BaseCtrl.
现在有这样一个问题,当我的应用程序开启后,如果加密后马上运行解密或者解密后马上运行加密,都会进入if判断,并且new Base会出现异常;如果仅仅是多次运行加密或者多次运行解密,那么不会出任何问题,因为运行一次后m_BaseCtrl将不会为空,但是在两个类之间进行切换的话每切换一次就会进入if判断一次,运行就会出错,这是什么原因呢?请高手帮忙~~~~
现在分别在Class1,Class2中定义各自的成员变量Base *m_BaseCtrl;
Class1,Class2使用Base基本相同,假设Class1是进行加密处理,Class2进行解密处理,Base中是对对象的加解密处理模块,在Class1加密/Class2解密的相应位置进行如下代码:
if(m_BaseCtrl==NULL)
{
m_BaseCtrl = new Base;
m_BaseCtrl进行初始化工作;
}
进行加密/解密处理;当然在Class1和Class2的构造函数中m_BaseCtrl=NULL,在析构函数中delete m_BaseCtrl.
现在有这样一个问题,当我的应用程序开启后,如果加密后马上运行解密或者解密后马上运行加密,都会进入if判断,并且new Base会出现异常;如果仅仅是多次运行加密或者多次运行解密,那么不会出任何问题,因为运行一次后m_BaseCtrl将不会为空,但是在两个类之间进行切换的话每切换一次就会进入if判断一次,运行就会出错,这是什么原因呢?请高手帮忙~~~~
解决方案 »
- 求助!!The ActiveX control "{xxxxx}" is not registered on this computer..
- 高手进来一下看看这个问题
- 如何用命令设置List控件行的高度
- 在tab的分页中,循环按下F3,如何把一个复选框沟上或者去掉沟???
- 在哪里可以获得免费的工控仪表控件或类,分可以再加。
- 为什么CoCreateInstance(clsidWord,NULL,CLSCTX_INPROC_SERVER,IID_IUnknown,(LPVOID*)&lpDisp);出错???
- 时间格式转换C# 到 C++
- 关于vc 实像摄像头输入抠像的问题
- 如何往一个文件写'\0'字符??
- 没想到
- 怎样通过指针来修改其对应控件(如按钮)的显示颜色?
- mfc中我想告诉使用zhe程序正在干什么,应该怎么做?
delete BaseCtrl;
BaseCtrl = NULL; // 这一句在你这个应用中非常重要
还有delete后,把指针BaseCtrl设置为NULL.