Indy Download: Datei zu klein?
Ich lade mit Indy eine Dateirunter die ca. 10 KByte groß ist.
In OnWorkBegin hole ich mir die Dateigröße aus dem Parameter. Doch leider ist sie null, so dass ich bei der Fortschrittsberechnung in Prozent eine Exception Division durch null bekomme. Liegt das daran, dass die Datei zu klein ist? OnWork wird auch nur einmal aufgerufen mit AWorkCount gleich der Dateigröße. |
Re: Indy Download: Datei zu klein?
Anscheinend ist die Datei zu klein, ja.
Ich hab hier mal meinen alten Code rausgekramt:
Delphi-Quellcode:
Bei kleinen Dateien geht die Fortschrittsleiste dann eben von 0 auf 100 ;)
procedure TFtpBrowser.Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer); begin FProgress.Position := AWorkCount; end; procedure TFtpBrowser.WorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer); begin if AWorkCountMax > 0 then FProgress.Max := AWorkCountMax else FProgress.Max := FBytesToTransfer; end; procedure TFtpBrowser.WorkEnd(Sender: TObject; AWorkMode: TWorkMode); begin FProgress.Position := 0; end; |
Re: Indy Download: Datei zu klein?
Danke. Dann werde ich das auch so machen.
|
Re: Indy Download: Datei zu klein?
Aus der Doku:
Code:
Hat denke ich nix mit der Größe (Kleine) zu tun... eher mit den Server-Einstellungen?!
AWorkCountMax may contain 0 when the number of bytes for the read and/or write operation is not known.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz