Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Indy Download: Datei zu klein? (https://www.delphipraxis.net/132016-indy-download-datei-zu-klein.html)

Luckie 4. Apr 2009 12:14


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.

jfheins 4. Apr 2009 12:41

Re: Indy Download: Datei zu klein?
 
Anscheinend ist die Datei zu klein, ja.

Ich hab hier mal meinen alten Code rausgekramt:
Delphi-Quellcode:
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;
Bei kleinen Dateien geht die Fortschrittsleiste dann eben von 0 auf 100 ;)

Luckie 4. Apr 2009 12:43

Re: Indy Download: Datei zu klein?
 
Danke. Dann werde ich das auch so machen.

Meflin 4. Apr 2009 12:47

Re: Indy Download: Datei zu klein?
 
Aus der Doku:
Code:
AWorkCountMax may contain 0 when the number of bytes for the read and/or write operation is not known.
Hat denke ich nix mit der Größe (Kleine) zu tun... eher mit den Server-Einstellungen?!


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