Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi URLDownloadToFile: Programm reagiert nicht während Download (https://www.delphipraxis.net/70737-urldownloadtofile-programm-reagiert-nicht-waehrend-download.html)

Mazel 3. Jun 2006 19:00


URLDownloadToFile: Programm reagiert nicht während Download
 
Hallo,

ich verwende URLDownloadToFile um zum Beispiel Zip-Datein oder andere Große Files zu downloaden. Das Problem welches ich habe ist, das während des Ladens meine Applikation nicht reagiert. Ich habe es mit Application.ProcessMessages versucht die in einem Timer sitzt aber das funktioniert nicht. Der Grund warum ich das haben will ist, damit ich den Fortschritt des Downloads sehe.
Hier mal die aktuelle Version:

Delphi-Quellcode:
function TForm1.DownLoadInternetFile(const URL, Localfile: String): Boolean;
begin
 Result:=URLDownloadToFile(nil, PChar(URL), PChar(Localfile), 0, nil) = 0;
end;

procedure TForm1.BtnOKClick(Sender: TObject);
begin
 Application.ProcessMessages;
 DownLoadInternetFile(Temp, 'C:\Tempfile.dat');
end;
Was muss ich machen, damit meine Anwendung während des Ladens trotzdem reagiert und damit ich den Fortschritt sehe? Bin jeder Hilfe dankbar.

Gruß
Mazel

marabu 3. Jun 2006 19:06

Re: URLDownloadToFile: Programm reagiert nicht während Downl
 
Hallo Marcel,

wenn du beim letzten Parameter nicht nil sondern einen Zeiger auf eine Schnittstelle vom Typ IBindStatusCallback übergibst, dann könnte es was werden mit der Fortschrittsanzeige. Schau mal in die Dokumentation.

Grüße vom marabu

Luckie 3. Jun 2006 19:10

Re: URLDownloadToFile: Programm reagiert nicht während Downl
 
Zitat:

Zitat von marabu
Schau mal in die Dokumentation.

Oder noch einfacher, in die CodeLib: URLDownloadToFileURLDownloadToFile

Mazel 3. Jun 2006 19:14

Re: URLDownloadToFile: Programm reagiert nicht während Downl
 
Danke,

in welcher Dokumentation sollte ich den schauen? In der Delphi Hilfe ist es jedenfalls nicht zu finden.
Danke Luckie, hatte den Beitrag in der Library nicht gefunden, habe zu sehr nach URLDownloadToFile gesucht. :wink:

marabu 3. Jun 2006 20:32

Re: URLDownloadToFile: Programm reagiert nicht während Downl
 
Unter Dokumentation verstehe ich den PlatForm SDK oder das MSDN Online Library Archive.

marabu

Mazel 3. Jun 2006 20:36

Re: URLDownloadToFile: Programm reagiert nicht während Downl
 
Ich habe die Microsoft SDK offline (durch Delphi 2005 - arbeite aber wegen mir nicht gefallender Oberfläche nicht damit) und dort lässt sich URLDownloadToFile nicht finden.

Mazel 4. Jun 2006 10:20

Re: URLDownloadToFile: Programm reagiert nicht während Downl
 
Noch eine wichtige Frage ist für mich, wie ich nun die Dateigröße der zu ladenen Datei ermitteln kann.

Gruß
Mazel

jfheins 4. Jun 2006 10:23

Re: URLDownloadToFile: Programm reagiert nicht während Downl
 
Guck mal, ob du ne HEAD-Anfrage senden kannst, damit könnte das gehen ...

marabu 4. Jun 2006 10:33

Re: URLDownloadToFile: Programm reagiert nicht während Downl
 
Hallo Marcel,

du musst die Dateigröße nicht vorher ermitteln - du bekommst sie im event handler OnProgress() der Schnittstelle IBindStatusCallBack als ulProgressMax übermittelt.

Grüße vom marabu

Mazel 4. Jun 2006 11:58

Re: URLDownloadToFile: Programm reagiert nicht während Downl
 
Hey,

danke. Ich dachte in ulProgress und ulProgressMax werden andere Daten übermittelt. Das die was mit der Anzeige für die ProgressBar bzw. Gauge zu tun haben war klar nur wusste ich eben nicht das sie auf die Größe der übermittelten Daten und auf dem Server liegenden Daten zeigen.

Danke :thumb:

Gruß
Mazel


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:18 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