D5的TClientSocket是否有Bug
当设置的Host在网络上找不到时,会出现一个不可捕获的错误。好像错误是出现在新增加的OnLookUp事件上,不知道是不是D5的Bugs? 问题点数:30、回复次数:11Top
1 楼Lin(林)回复于 2000-02-21 08:39:00 得分 30
我使用的也是D5,但没有出现你所说的问题,挂接OnError(Client)或者OnClientError(Server)事件试试?Top
2 楼Lin(林)回复于 2000-02-21 08:40:00 得分 0
补充:
必要时设置ErrorCode := 0屏蔽所有错误。Top
3 楼Firing_Sky(火的天空)回复于 2000-02-21 12:10:00 得分 0
不管是OnError事件还是用try ... except ... 都无法捕获这个错误,错误发生在clientsocket.active:=true 后几秒钟,下面的语句都执行完了。但几秒钟后,错误出现好像是什么异步连接错误。
不过我现在换了一台机器,似乎又不出现这个错误了……
但现在Host在网络上找不到也不会出现任何可捕获的错误。
不知道为何,此问题如能得到满意解答,我会另外给分的Top
4 楼Firing_Sky(火的天空)回复于 2000-02-22 20:38:00 得分 0
没人理我吗?Top
5 楼Lin(林)回复于 2000-02-22 20:54:00 得分 0
Firing_Sky:
你的问题我也遇到过,好象也是异步联结错误(1053)。但OnError能捕获这个错误,ErrorEvent = eeConnect,而ErrorCode = 10061。
你可以试一试?Top
6 楼Firing_Sky(火的天空)回复于 2000-02-25 09:55:00 得分 0
试过了,捕获不了Top
7 楼Lin(林)回复于 2000-02-25 10:53:00 得分 0
这个问题我再次遇到,好象是WinSock32.dll内部的异常,没法Catch。实际上设置ClientSocket.Active := True后几秒钟,如果远程机器不可访问,ClientSocket将会出现一个联结错误,这个可以捕获。
另外:如果你解决了的话,告我(jiazhonglin@sina.com)一下,最好附上源代码~_^。Top
8 楼Firing_Sky(火的天空)回复于 2000-02-25 14:06:00 得分 0
是D5的bug,还是需要更新WinSock32.dll?Top
9 楼bia(老四)回复于 2001-02-25 14:18:00 得分 0
我也发现了这问题,Firing_Sky,你是怎么解决的?Top
10 楼Firing_Sky(火的天空)回复于 2001-02-26 09:37:00 得分 0
我记得当时是找别的组件了Top
11 楼bia(老四)回复于 2001-02-28 13:11:00 得分 0
没想到你还能回答我一年后的问题。谢谢。
但还能记起具体是怎么解决的吗?我不知道还有什么组件能替代它,请再指点一二。
(在灌水板已经很熟悉你了,)Top




