第二帖: 关于使用Indy导致界面idle的问题

alloutoflove 2005-10-18 03:15:19
Indy确实挺方便, 不过.........

花了些时间把Indy10下载安装完成后放到自己的应用程序中, 使用TIdHTTP读取网站上的文件, 我用自己本机localhost做实验的... 结果发现如果目标文件在目标服务器不存在的话, 代码一运行到

IdHTTP->Head(HttpFile);

这里程序就fly to the sky啦...断点也跟不上了... 界面idle, 后来在Form上加了一个TIdAntiFreeze也无济于事...

如果目标文件存在的话, 程序可以顺利执行.

会不会只是Indy10的问题?
...全文
158 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
alloutoflove 2005-10-22
  • 打赏
  • 举报
回复
嗯,我现已经改回用NMHTTP了,虽然发现几个bug,不过费了好大劲也让程序适应bug了...

多谢楼上的,我怎么就没想到用线程, 难道是因为偶对Indy太信任啦^_^

帖子偶先结了吧, 谢谢两位的回复.
constantine 2005-10-22
  • 打赏
  • 举报
回复
用线程记得也有一点停顿,一闪而过,不过好很多
constantine 2005-10-22
  • 打赏
  • 举报
回复
我做过一次,这个控件好象是不行,如果能连上就没事,如果连不上try要等timeout,indy是阻塞的,所以会死掉,放上你说的控件也不行,我自己是把这些动作放到独立一个线程里面去的
indy10 我没有用过,我用过9,例子你可以用盒子上的断点下载试试就知道,连不到就会
alloutoflove 2005-10-22
  • 打赏
  • 举报
回复
继续顶...

PS:发现楼上已经4个三角啦^_^
xibingwuqing 2005-10-21
  • 打赏
  • 举报
回复
学习一下
alloutoflove 2005-10-21
  • 打赏
  • 举报
回复
再顶一下
alloutoflove 2005-10-20
  • 打赏
  • 举报
回复
顶上去,希望能得到高人更多的指点...
alloutoflove 2005-10-19
  • 打赏
  • 举报
回复
NMHTTP可以是可以,只不过同事说好像有些问题=_=
xibingwuqing 2005-10-18
  • 打赏
  • 举报
回复
用NMHTTP试试,其它不知道了
alloutoflove 2005-10-18
  • 打赏
  • 举报
回复
是这样的,如果我根本不开IIS的http服务的话,执行时会Exception, 但是如果开了服务但服务器中不存在指定文件的话,it happened.
xibingwuqing 2005-10-18
  • 打赏
  • 举报
回复
或者HttpFile有什么非法字符之类的原因,没用过不清楚
xibingwuqing 2005-10-18
  • 打赏
  • 举报
回复
这里没问题,可能你的Indy安装有问题
alloutoflove 2005-10-18
  • 打赏
  • 举报
回复
已经try...catch了

try
{
IdHTTP->Head(HttpFile);
}
catch(...)
{
MessageBox(Handle, "不能连接到更新服务器!", Caption.c_str(), MB_OK|MB_ICONERROR);
return;
}
xibingwuqing 2005-10-18
  • 打赏
  • 举报
回复
这里Indy8报错,估计try,catch就可以了

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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