VC++ 在子进程中 打开对话框程序 Enter键崩溃

从此不归路 2017-11-09 03:44:32
.exe 中的 0x752825b5 处未处理的异常: 0xC0000005: 读取位置 0x29a02a18 时发生访问冲突
...全文
306 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2017-11-18
  • 打赏
  • 举报
回复
引用 15 楼 baidu_18624493 的回复:
[quote=引用 14 楼 xianglitian 的回复:] [quote=引用 12 楼 baidu_18624493 的回复:] [quote=引用 11 楼 xianglitian 的回复:] 你在进程里面打开的对话框? 是用的独立UI线程么?
是的[/quote]那回车键有什么对应功能么? 不是不是访问冲突了 界面元素不是线程安全的[/quote] 回车键没有任何功能[/quote] 不过默认状态下回车键会调用OnOK函数然后销毁对话框的
赵4老师 2017-11-16
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止
从此不归路 2017-11-15
  • 打赏
  • 举报
回复
引用 14 楼 xianglitian 的回复:
[quote=引用 12 楼 baidu_18624493 的回复:] [quote=引用 11 楼 xianglitian 的回复:] 你在进程里面打开的对话框? 是用的独立UI线程么?
是的[/quote]那回车键有什么对应功能么? 不是不是访问冲突了 界面元素不是线程安全的[/quote] 回车键没有任何功能
向立天 2017-11-11
  • 打赏
  • 举报
回复
引用 12 楼 baidu_18624493 的回复:
[quote=引用 11 楼 xianglitian 的回复:] 你在进程里面打开的对话框? 是用的独立UI线程么?
是的[/quote]那回车键有什么对应功能么? 不是不是访问冲突了 界面元素不是线程安全的
Eleven 2017-11-10
  • 打赏
  • 举报
回复
Debug模式下,打开call stack,看看函数调用堆栈,找到出错的函数调用先~
从此不归路 2017-11-10
  • 打赏
  • 举报
回复
引用 11 楼 xianglitian 的回复:
你在进程里面打开的对话框? 是用的独立UI线程么?
是的
向立天 2017-11-10
  • 打赏
  • 举报
回复
你在进程里面打开的对话框? 是用的独立UI线程么?
zgl7903 2017-11-10
  • 打赏
  • 举报
回复
VS IDE 打开 异常捕捉, 开启 0xC0000005 异常, 调试运行,异常停止时,结合调用堆栈修改代码解决之
从此不归路 2017-11-09
  • 打赏
  • 举报
回复
还没有解决,大神在哪里??
weixin_40994171 2017-11-09
  • 打赏
  • 举报
回复
引用 2楼我是你的主体 的回复:
[quote=引用 1 楼 weixin_40994171 的回复:] 显然读写冲突了 贴你enter的处理代码 或者对框中截取消息 屏蔽掉enter试试
对话框中有cwebbrowser控件 ,屏蔽掉enter键 网页就不能相应enter键了。。。愁人[/quote]重写enter的响应代码吧
csulizhang 2017-11-09
  • 打赏
  • 举报
回复
引用 5 楼 baidu_18624493 的回复:
[quote=引用 3 楼 zhangli00 的回复:] 也不一定是访问冲突的问题,Cwebbrowser控件现在已经跟不上潮流了,很多网页上的js代码执行不了,也会报错的,你先Cwebbrowser打开百度首页,回车看看能否成功 Cwebbrowser使用就那几条,按顺序调用一般不存在错误的
单独打开是没有问题的,就是起子进程调用时,会崩溃。[/quote] Cwebbrowser我没试过,但是CEF的话googl设计是一定要在主线程调用的,源码上几乎每个操作的第一句话都是获取当前线程,Cwebbrowser没看过源码不清楚,但是问题可能是这个,你最好还是想办法把Cwebbrowser放到主线程上来用,我之前的这种进程调用方法大概思路是子线程PostThreadMessage到主线程,主线程PreTranslateMessage截获消息,再调用子线程中的方法来执行。
从此不归路 2017-11-09
  • 打赏
  • 举报
回复
引用 4 楼 zgl7903 的回复:
重载 子对话框 OnOK 和 OnCancel 直接返回
没有进子对话框的 OnOK 和 OnCancel
从此不归路 2017-11-09
  • 打赏
  • 举报
回复
引用 3 楼 zhangli00 的回复:
也不一定是访问冲突的问题,Cwebbrowser控件现在已经跟不上潮流了,很多网页上的js代码执行不了,也会报错的,你先Cwebbrowser打开百度首页,回车看看能否成功 Cwebbrowser使用就那几条,按顺序调用一般不存在错误的
单独打开是没有问题的,就是起子进程调用时,会崩溃。
zgl7903 2017-11-09
  • 打赏
  • 举报
回复
重载 子对话框 OnOK 和 OnCancel 直接返回
csulizhang 2017-11-09
  • 打赏
  • 举报
回复
也不一定是访问冲突的问题,Cwebbrowser控件现在已经跟不上潮流了,很多网页上的js代码执行不了,也会报错的,你先Cwebbrowser打开百度首页,回车看看能否成功 Cwebbrowser使用就那几条,按顺序调用一般不存在错误的
从此不归路 2017-11-09
  • 打赏
  • 举报
回复
引用 1 楼 weixin_40994171 的回复:
显然读写冲突了 贴你enter的处理代码 或者对框中截取消息 屏蔽掉enter试试
对话框中有cwebbrowser控件 ,屏蔽掉enter键 网页就不能相应enter键了。。。愁人
weixin_40994171 2017-11-09
  • 打赏
  • 举报
回复
显然读写冲突了 贴你enter的处理代码 或者对框中截取消息 屏蔽掉enter试试

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧