K k2536 Unregistered / Unconfirmed GUEST, unregistred user! 2007-09-14 #1 在主线程这外开了个新线程t2 在t2中 用了idhttp控件访问一个网址,如果本机网络是断开的话,那么idhttp 由于访问不到网络会有相当长一断时间的阻塞,在这阻塞期间如果程序退出,就会报错,有没有办法不报错,又可以在idhttp阻塞期间退出程序?
在主线程这外开了个新线程t2 在t2中 用了idhttp控件访问一个网址,如果本机网络是断开的话,那么idhttp 由于访问不到网络会有相当长一断时间的阻塞,在这阻塞期间如果程序退出,就会报错,有没有办法不报错,又可以在idhttp阻塞期间退出程序?
K k2536 Unregistered / Unconfirmed GUEST, unregistred user! 2007-09-15 #5 如果idhttp在GET 阻塞的时候,强制TerminateThread 当时不出错,当应用程序退出时分跳出异常 某某地址不能为read 这个异常连 try except end 都不行
L lovezyp Unregistered / Unconfirmed GUEST, unregistred user! 2007-09-15 #6 这个用个indy misc控件栏的 idantifreeze组件即可解决,他也是不断的发送application.processmessage来实现的
Z zqw0117 Unregistered / Unconfirmed GUEST, unregistred user! 2007-09-15 #7 没有代码无法判断你说的问题究竟出在哪里。Indy官方也推荐将Client对象放在Thread里面使用,而不是直接放在界面上 另外加一个IdAntiFreeze控件这种方式。楼主帖下代码吧。
K k2536 Unregistered / Unconfirmed GUEST, unregistred user! 2007-09-16 #8 我是放在一个新的thread里,可是即使这样,只是介面不冻结,可是问题是,当idhttp在新线程 阻塞的时候,而应用程序要退出,这时调用 thread.Destory 释放线纯种,由于介面线程因为调用 thread.Destory还是阻塞,用TerminateThread 强制结束就不会陏阻塞,但是会在应用程序退出几秒后跳出一个异常,不知道有人看得懂不
我是放在一个新的thread里,可是即使这样,只是介面不冻结,可是问题是,当idhttp在新线程 阻塞的时候,而应用程序要退出,这时调用 thread.Destory 释放线纯种,由于介面线程因为调用 thread.Destory还是阻塞,用TerminateThread 强制结束就不会陏阻塞,但是会在应用程序退出几秒后跳出一个异常,不知道有人看得懂不