Z zzutlink Unregistered / Unconfirmed GUEST, unregistred user! 2005-12-19 #1 当前我用一个线程从FTP下载文件,已经正常使用了,但不知道如何使主界面上的进度条同步显示下载进度,请大家给我说说实现的方法吧。
Z zzutlink Unregistered / Unconfirmed GUEST, unregistred user! 2005-12-19 #2 当前我用一个线程从FTP下载文件,已经正常使用了,但不知道如何使主界面上的进度条同步显示下载进度,请大家给我说说实现的方法吧。
Z zzutlink Unregistered / Unconfirmed GUEST, unregistred user! 2005-12-19 #3 再补充一下,我用的是IdFtp控件来做的FTP下载,从代码上只有IdFtp.Get这么一句,我现在是想对这中间下载的进度进行显示。不用线程的时候,可以通过IdFtp.OnWork来实现,但下载稍微大一点的文件就会导致界面假死,所以用线程,但我不知道如何再实现进度条。
再补充一下,我用的是IdFtp控件来做的FTP下载,从代码上只有IdFtp.Get这么一句,我现在是想对这中间下载的进度进行显示。不用线程的时候,可以通过IdFtp.OnWork来实现,但下载稍微大一点的文件就会导致界面假死,所以用线程,但我不知道如何再实现进度条。
C cqwty Unregistered / Unconfirmed GUEST, unregistred user! 2005-12-21 #4 idftp有一个demo的,你看它里面是怎么实现的,还有由于你访问了可视化vcl控件,所以,你必须使用同步,否则即使用了多线程,界面一样要死的。你遇见的问题可能是线程里面怎么对控件的事件添加代码?其实这个简单,你写一个和idftp的onwork事件一样的过程,然后idftp.onwork:=这个过程就可以了。
idftp有一个demo的,你看它里面是怎么实现的,还有由于你访问了可视化vcl控件,所以,你必须使用同步,否则即使用了多线程,界面一样要死的。你遇见的问题可能是线程里面怎么对控件的事件添加代码?其实这个简单,你写一个和idftp的onwork事件一样的过程,然后idftp.onwork:=这个过程就可以了。
D djwdz Unregistered / Unconfirmed GUEST, unregistred user! 2005-12-21 #5 看demo里面的例子多大的数据量也不会死界面,上面有一个控件是用来是屏幕不死的。像一个小手机那个
C cqwty Unregistered / Unconfirmed GUEST, unregistred user! 2005-12-21 #7 通过消息发送是不是有点夸张哦,只要onwork,那就不停的发送消息,没有实际意义吧,而且也没有必要,这样处理消息不是理智的选择哦!
Z zzutlink Unregistered / Unconfirmed GUEST, unregistred user! 2005-12-27 #8 把indy的IdAntiFreeze控件放上就可以了,什么都不用改动,呵呵。已经解决了,谢谢各位。 但是出现了另一个问题,就是我下载完了之后,我用Close去关掉当前窗口,居然关不掉。
U utop Unregistered / Unconfirmed GUEST, unregistred user! 2005-12-27 #9 看看下载完把 IdAntiFreeze 的 Active 置为false 行不行
L luckyso888 Unregistered / Unconfirmed GUEST, unregistred user! 2005-12-28 #10 在closequert事件中要先停止线程和closeINDY控件,或freeINDY控件
Z zzutlink Unregistered / Unconfirmed GUEST, unregistred user! 2005-12-30 #12 没有错误信息,没有任何提示。 我现在通过别的方法先解决了,放了个timer,当下载完毕设置timer.enable:=true了。 解决了就行,散分了。