社区
网络通信/分布式开发
帖子详情
求救:按任意键均报错,为什么啊?
freepine
2003-12-24 10:44:13
我有一个程序,实现一些消息传递功能,客户端使用
Indy TcpClient;用一个单独线程监听收到的消息。
收发消息时会动态生成或释放一些 TabSheet,
刚运行时程序正常,收发若干消息后
会出现按任意键均报错的现象,错误是Access violation,
在集成环境中运行出现异常转入调试模式也没有跳到出错代码。
可我并没有在ApplicationMessage中处理按键消息,
请教高手,问题可能出在什么地方?
我真是没办法了。天哪!!!
...全文
58
6
打赏
收藏
求救:按任意键均报错,为什么啊?
我有一个程序,实现一些消息传递功能,客户端使用 Indy TcpClient;用一个单独线程监听收到的消息。 收发消息时会动态生成或释放一些 TabSheet, 刚运行时程序正常,收发若干消息后 会出现按任意键均报错的现象,错误是Access violation, 在集成环境中运行出现异常转入调试模式也没有跳到出错代码。 可我并没有在ApplicationMessage中处理按键消息, 请教高手,问题可能出在什么地方? 我真是没办法了。天哪!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
freepine
2004-03-18
打赏
举报
回复
我现在自己处理了这个消息,
直接调用
TranslationMessage(Msg);
DispatchMessage(Msg);
不会报错了,
可惜Tab,Enter键对获取焦点控件的切换、处理也相应失效了,
各位有什么好办法吗?
hnhb
2004-03-17
打赏
举报
回复
帮你顶......
freepine
2004-03-17
打赏
举报
回复
啊啊啊啊,帮帮我啊
还是没有解决这个问题,
我跟踪发现在TEdit获TMemo中按键执行到Forms单元中
TApplication.IsKeyMsg时出错,
我把该函数拷贝到ApplicationMessage中自己处理按键消息,
发现执行到
if SendMessage(Wnd, CN_BASE + Message, WParam, LParam) <> 0 then
Result := True;
时出错,不知道系统为什么没有找到该控件,
我看了,wnd指针地址与刚开始执行时的值是一样的,
那为什么开始能正确相应按键消息,后来就
Access violation了呢?
请高手指教。
而且在TMemo中点鼠标右键“粘贴”可以正常反应, 会将剪贴版内容添加到Memo中,也不出错
真不知道为什么按键消息处理就错了呢.
freepine
2003-12-27
打赏
举报
回复
我不是说把edit的消息捕获给Pagecontrol,
只是屏蔽了Pagecontrol的WM_KEYDOWN消息
这样当TabSheet上没有Edit之类的控件时,按键
就不会报错,而当在Edit中按键时因为我没有处理
该消息,按说系统会缺省处理的,但是总是报错,
不知道是否和线程有关。
sunny518
2003-12-26
打赏
举报
回复
出现这种错误的原因很多,根据我经验,一般是资源没有释放,或者是资源没有分配空间就直接访问!
分派消息是循环分配的啊,该是谁的消息就是谁的啊,你是怎么捕获消息的啊!
怎么edit的keydown你也捕获给pagecocontrol了啊,难道你处理的是formkeydown
freepine
2003-12-26
打赏
举报
回复
5555,没人理我啊,再问一下。
我又试了一下,屏蔽PageControl的WM_KEYDOWN消息后不会出现错误提示
(设置PageControl的WindowProc处理发给PageControl的消息),但如果
PageControl中的某个TabSheet上有TEdit时,当该Edit获得输入焦点时
按键则仍然出现错误
这是为什么呢?请教高手Delphi是怎么在VCL控件中Dispatch消息的,
默认又是怎么处理的呢?可能是什么原因导致出现Access Violation的
呢?
Thanks for your help.
关于VScode
报错
“终端将被任务重用,按
任意键
关闭”的解决方案
本文介绍了解决VScode中“终端将被任务重用,按
任意键
关闭”这一提示的方法。通过修改tasks.json文件中的panel属性,从shared改为new,确保每个进程都有独立的终端,从而避免了任务执行冲突。
【Ubuntu】vscode
报错
:终端将被任务重用,按
任意键
关闭。
在使用VSCode时遇到
报错
:终端将被任务重用,按
任意键
关闭。解决方法是在task.json文件中添加presentation: { panel: new },将默认的共享面板设置为每次创建新的端口。
VS code
报错
:终端将被任务重用,按
任意键
关闭
博主使用VS code写C++代码,启用Compile Run插件后终端
报错
“将被任务重用,按
任意键
关闭”。经检查发现是代码中main写成mian,改正后程序正常编译。提醒大家遇到此类警告可检查代码是否有误。
vscode终端将被任务重用,按
任意键
关闭的解决方法汇总以及我的使用体验
本文记录了作者遇到VSCode终端提示“终端将被任务重用,按
任意键
关闭”的问题,尝试了修改tasks.json、更改插件版本、调整launch.json和settting.json等方法
均
未解决问题。最终发现将文件移至新文件夹中运行可暂时解决,但该方法并不持久。作者希望通过分享经历寻求彻底解决方案。
C/C++关于VScode
报错
“终端将被任务重用,按
任意键
关闭”的解决方案
当使用VScode进行C/C++开发时,遇到'终端将被任务重用,按
任意键
关闭'的提示,这是因为本地端口冲突。解决方法包括修改tasks.json文件,如将command的g++改为gcc,或者将面板设置为'new'而非'shared',以避免进程共享。
网络通信/分布式开发
1,594
社区成员
32,945
社区内容
发帖
与我相关
我的任务
网络通信/分布式开发
Delphi 网络通信/分布式开发
复制链接
扫一扫
分享
社区描述
Delphi 网络通信/分布式开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章