为何 IdFTP 上传文件时程序像死了一样?(50分)

  • 主题发起人 主题发起人 336764
  • 开始时间 开始时间
3

336764

Unregistered / Unconfirmed
GUEST, unregistred user!
我是一新手,近来用IdFTP写上传时,只要是操作FTP时程序自己都会死了一样,

其实只有几条语句
...
ftp.connect;
ftp.put...;
然后workbegin里写进度条,如果是一点上传,就不动了,直到程序上传完了才有响应,当然 进度条也不会有作用了。。
请问如何解决处理。

另外,如果需要使用线程技术,希望说明白点,因为我对使用线程一壳不通。希望指点。

谢谢了。
 
idftp是采用阻塞模式传输的,你可以使用TIdAntiFreeze对抗“冻结”,直接拖动该组件到窗口即可。
 
先谢谢回答,
我把 TIdAntiFreeze 咣的拽到form上,是true,然后运行,上传,它还是玩了命的猛传,窗口狂死。
 
我以前也发生类似的问题,结果查了半天是自己的语句里有死循环,你自己查下代码了,实在不行就把你的代码贴出来,否则他人怎么知道你哪有问题。
 
我重写了一次,发现是因为我没有设置 work状态,只 workbegin了一下,NNDX,我的错。

现在传送时进度条啦、LOG窗啦,什么的,都正常运行,但是窗口不能最小化,不能最大化不能移动等等等等。。。

怎么解决这个问题呢???
 
那你查下你的窗口属性就知道啦,查询borderstyle的属性是否设为bssizeable了,还有bordericons的属性了。
 
在不连接与不上传时,操作都是正常的。
 
不上传时,能最小化,上传的时候,最小化一点,程序就:无响应
 
哦,indy组件好像是有这毛病,TIdAntiFreeze只是修改定时,采用api抢夺,在拖动整个窗口时回出现这情况,这个问题不大好处理,请高手出马吧。
 
惨啊。。。。原来以为是简单问题呢。。。
 
不如把代码贴上来,说不定有高手能知道是怎么回事!!
 
开新贴了,请高手到这里回答,谢谢了

http://www.delphibbs.com/delphibbs/dispq.asp?lid=3343651
 
多线程........
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2500672
 
这个文章我也看过。里边详细的说明了IdFTP的使用,但是它依然存在阻塞问题,界面还是无法在连接时操作。。。

另外:本讨论主题我已经重开贴,100分,在那边给分。本贴作废。链接上边有。

目的:将IdFTP放入单独的网络线程中执行,从而不影响主线程的界面运行。
 
已自己解决了:
解决方法:
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=3344115
 
多人接受答案了。
 
后退
顶部