VC6写的窗口调用IP address控件,关闭窗口后软件为何异常退出
本帖最后由 xtaens 于 2018-6-29 15:39 编辑使用VC++ 6.0软件写了一个小软件,主窗口中通过2个按钮调用另外2个窗口。命令1和2窗口中都使用了IP Address控件,并给控件添加了相应的变量m_ipx。目前的现象是:
1、给IP Address控件添加m_ip1变量;打开命令1窗口,什么也不做,点击关闭或退出按钮,整个软件在xp系统下就退出了(正常应该到主界面),无异常提醒;在win7和win10下提示软件关闭异常。
2、给IP Address控件 不 添加m_ip1变量;打开命令1窗口,什么也不做,点击关闭或退出按钮,软件在各个系统下均工作正常。
3、打开命令2窗口,什么也不做,点击关闭或退出按钮,到了主界面,一切正常。【这个窗口中是定义了m_ipxx变量的,但是却没有问题】
为什么在窗口1中只要定义ip地址控件变量软件就异常退出呢?不管用不用这个变量,只要定义就出问题。
win7或者win10下提示的错误界面。xp下直接闪退了,并没有提示什么错误
这个是工程源码,vc 6.0编译:
编辑原因:加入了图片 顶一顶,,期待高手帮忙解决一下。。。 代码混乱导致的,跟IP地址控件没有一毛钱的关系
你的本意是使用Set1.h和Set1.cpp做为CSet类的定义和实现
然而,InstructionMakerDlg.cpp使用这个类之前include的却是Set.h,看第8行
类和结构,成员变量的分配方式类似,编译器使用偏移量的方法定位地址。
然后,CSet类里面的构造函数对成员变量的操作,超出了编译器分配给类的内存边界
解决方法:把Set_new Set1这些的h和cpp文件都干掉,然后根据编译器的提示,很快就改好了 居然还在用6.0 nanfang2000 发表于 2018-6-29 19:24
居然还在用6.0
vc6.0软件小,编译快,还是不错的 McuPlayer 发表于 2018-6-29 18:39
代码混乱导致的,跟IP地址控件没有一毛钱的关系
你的本意是使用Set1.h和Set1.cpp做为CSet类的定义和实现
谢谢回复
我把InstructionMakerDlg.cppinclude的Set.h改为Set1.h就好了。。。Set.h是个无用的文件,忘记删除了。。
再次感谢
页:
[1]