TIdFTP Fortschittanzeige beim hochladen
-
Hallo,
weiß jemand wie man bei TIdFTP eine Fortschrittanzeige beim Hochladen einer
Datei erzeugen kann, die möglichst Bytegenau ist?Ich hab Routinen für
FTP->OnWork und FTP->OnWorkBegin implementiert jedoch werden diese für meinen
Geschmack nicht oft genug aufgerufen. Ich würde das gerne öfter aufrufen lassen.
-
hat keiner eine Idee? Oder gibt es eine alternative Komponente? Darf auch was
kosten...
-
Bist du sicher, dass das Event nicht oft genug aufgerufen wird, oder "hängt" vielleicht nur die Anzeige? Hast du ein TIdAntiFreeze auf der Form?
-
TIdAntiFreeze hab ich nicht auf der Form. Ich lass auch die TIdFTP Komponente
dynamisch erzeugen. TIdAntiFreeze kenn ich gar nicht, dann werd ich da mal nach
Infos suchen danke!EDIT: also OnWork wird wirklich nicht sehr oft aufgerufen. Ich hab mir mal die
AWorkCount Werte ausgeben lassen. Das ist beim ersten mal 2000 und dann ca. 15000
ich nehme an das sind die übertragenen Bytes. Ich würde das gerne möglichst oft
aufrufen lassen. Ich muss 100 - 200 Dateien hochladen die jeweils ca. 30kB gross
sind. Ich will gerne zwei Statusbalken haben einmal die aktuelle Datei und einmal
den kompletten Fortschritt. Der Balken für die einzelne Datei hängt praktisch immer
bei 100%
-
Ich hab ne long als bytecounter genommen
Prograss Bar->min = 0;
Prograss Bar->Max = Filesize(byte)und hab in der senderoutine die gesendeten bytes hochzählen lassen und die progress bar entsprechend gesetzt. Application->ProcessMessages() verhinderte bei mir das "einfrieren"
Edit: Den komplette Fortschritt würde ich mit FindFirst,FindNext und nem File Handle alle bytes zusammen addieren und wie oben beschrieben verfahren