解决方案 »
- 怎么识别4位数字验证码?
- 如何计算for循环算花费的时间
- 插入记录问题
- 如何实现如下图形的镜像
- VC ODBC,如何动态创建数据源?
- 知道进程所有参数,知道该进程的函数地址和原型,如何调用该进程的函数?
- 请问CCommandLineInfo cmdInfo和ParseCommandLine(cmdInfo)的作用?
- c++ ------->visual c++
- 如何接管IE的CTRL+F 查找快捷键?
- vb好啊?vc有什么好?进VB看看。。。。
- 在atl工程中如何向excel插入控件??
- MFC使用socket从客户端读取的文件内容传送到服务器端,客户端ok,服务器端显示文件前半部分ok,后半部分居然乱码!?
打开"afxwin2.inl"
看 第42 行.
ASSERT是抓代码bug的,有ASSERT的话说明代码有质量问题,不应该发布Release版。
楼上的两位真是帮了大忙了,非常感谢!
我在CView类的初始化代码中设置了几个断点,发现确实是初始化的问题,原来是因为我在构造函数中发送了消息,我把发送消息的语句删了就没问题啦!
后来又出现了问题:在画图的时候经常会定义一些画刷啊,画笔啊之类的指针,一般我都是这么干的:CPen myPen=new CPen
然后用完后我就会来一句:delete myPen,发现程序居然会报错!我把这个delete语句删除就没问题了,这是为什么呢?难道不需要释放吗?
而且我观察到用来申请内存的new貌似和平常的不一样,是紫色的,就像宏定义一样,但我在new上右键又转不到类似宏的定义上去,这又是为什么呢?如图最后一句,new是紫色的,而不像一般的关键字一样
pPen->DeleteObject();
delete pPen,
你把它delete 掉了就不存在了!所以不要管 pOldPen(不要=0,不要delete) , 他是局部变量 ,出函数就没有了.