社区
网络通信/分布式开发
帖子详情
求救:按任意键均报错,为什么啊?
freepine
2003-12-24 10:44:13
我有一个程序,实现一些消息传递功能,客户端使用
Indy TcpClient;用一个单独线程监听收到的消息。
收发消息时会动态生成或释放一些 TabSheet,
刚运行时程序正常,收发若干消息后
会出现按任意键均报错的现象,错误是Access violation,
在集成环境中运行出现异常转入调试模式也没有跳到出错代码。
可我并没有在ApplicationMessage中处理按键消息,
请教高手,问题可能出在什么地方?
我真是没办法了。天哪!!!
...全文
25
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.
攻击防范六(整理)
八种扫描器说明八种扫描器说明⑴NSS(网络安全扫描器) NSS由Perl语言编成,它最根本的价值在于它的速度,它运行速度非常快,它可以执行下列常规检查: ■Sendmail ■匿名FTP ■NFS出口 ■TFTP ■Hosts.equiv ■Xhost 注:除非你拥有最高特权,否则NSS不允许你执行Hosts.equiv。 利用NSS,用户可以增加更强大的功能,其中包括: ■AppleTalk扫描
Fiddler抓包 - 系统找不到相应的文件FSE.exe,未能找到路径CustomRules.js的一部分,未能加载程序或程序集 “fiddle“ 或它的依赖项
Fiddler抓包 - 系统找不到相应的文件FSE.exe,未能找到路径CustomRules.js的一部分,
flash常见问题集锦,很适合新手哦
如何加载一个SWF文件并控制其位置等相应属性……新建一个空地MC,将它放在主场景中,实体名改为OK,写AS: loadMovie("test.swf", "_root.ok"); 控制这个MC的位置,大小等相对属性(Property)就会影响调入SWF的位置和大小。 setProperty ("mc", _xscale, "****"); setProperty ("mc", _yscal
电脑各种中英文信息对照及错误信息总汇 系统出错信息及解决方案
一、BIOS中的提示信息提示信息 说明 Drive A error 驱动器A错误 System halt 系统挂起 Keyboard controller error 键盘控制器错误 Keyboard error or no keyboard present 键盘错误或者键盘不存在 BIOS ROM checksum error BIOS ROM
python代码获取远程电脑IP
python代码获取远程电脑IP
网络通信/分布式开发
1,593
社区成员
32,963
社区内容
发帖
与我相关
我的任务
网络通信/分布式开发
Delphi 网络通信/分布式开发
复制链接
扫一扫
分享
社区描述
Delphi 网络通信/分布式开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章