收录日期:2019/11/19 16:41:42 时间:2016/07/16 21:40:04 标签:进程/线程/DLL
我在一个子窗口弹出出就启动一个线程去执行,里面有用到子窗口的指针,

如果线程执行到窗口还关闭时是正常的,如果线程还没执行完子窗口就关闭了那么程序就会出错

说内存不能为read

有什么好办法可以判断线程里指向窗口的指针是否可以为read

我用IsBadWritePtr 和IsBadReadPtr还是没作用
引用楼主 alangsos 的回复:
我在一个子窗口弹出出就启动一个线程去执行,里面有用到子窗口的指针,

 如果线程执行到窗口还关闭时是正常的,如果线程还没执行完子窗口就关闭了那么程序就会出错

 说内存不能为read

 有什么好办法可以判断线程里指向窗口的指针是否可以为read

 我用IsBadWritePtr 和IsBadReadPtr还是没作用

可以用结构化异常处理__try,__except来捕获这种错误,这样在有异常发生的时候你的线程就自己退出吧
应该在窗口退出前检测线程是否结束。既然是窗口创建的线程,就应该有线程的句柄。这样的话,在窗口退出前调用WaitForSingleObject(hThread, -1)等待线程结束就好了。
在窗口关闭时,等待线程结束才最后关闭,waitforsingleobject
线程结束时发出个事件,通知窗口可以关闭了.

gl
在线程中最好是用SendMessage,PostMessage方式去通知窗口,
而不是直接去操作窗口指针

判断窗口有效性可用 IsWindow()

还有在窗口关闭时可WaitForSingleObject一下线程

水晶报表中列自动调整宽度的问题,头疼啊~~~~ 如何求各个字段的和. 今天使用FireFox浏览我自己以前做的页面,发现好多CSS效果跟在IE下不一样,要同时满足这两种浏览器,要遵循什么标准 着急啊,谁能帮我看看,tomcat定时器问题 终端服务相关问题? 请问 如何获得局域网中所有机器的IP及机器名, thx. 数据怎么写不到文件里去? [天天转]《犯贱报》 2006-03-06 我想用js在某一个父层输出子层,有什么办法? 谁用过IE 的OLE东西,类似Word,Excel的OLE 能给写例子吗? 编译不提示出错,运行出现abnormal program termintion 如何捕捉按钮的点击事件,怎样才能把它记录下来? 高分求救: linux下的mysql问题.(在线等) 描述符之间的转换问题 求助,当要编译.java文件,需要导入jsp-api.jar时怎么做啊? 五星级问题 急!急!急!!怎样调用水晶报表的设计器!! 如何使用FileStream(FileName, IO.FileMode.Truncate)模式截断、清空文本文件? 关注BTEW。。。 紧急求助:网站显示内容逐渐减少是什么原因? 新手小问题,请问再vs.net2003里面建立的工程怎么能够建立一个数据库连接,在其他每个叶面引用?? 十分感谢wgsasd311(自强不息),请进来接分 提问一个超级简单而又恨奇怪的问题!(关于登陆中的窗体关闭打开问题) 哪里有关于水晶报表的资料 问个简单问题,关于控件的 如何在水晶报表中显示图片: [求助] 菜鸟Java配置问题! cache 新手问题 50分~~ access中为什么会出现代码修改后不起作用? ZT--元朝汉人初夜权的传说