Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Datei im Hintergrund downloaden (https://www.delphipraxis.net/126901-datei-im-hintergrund-downloaden.html)

Yakumo500 4. Jan 2009 13:15


Datei im Hintergrund downloaden
 
Hi
Ich hab schon bei Google nach Datei Downloaden gesucht und bin auf die Indy Komponente, URLDownloadToFIle und TDownloadURL gestoßen.
Ich habe erstmal TDownloadURL genommen.
Es funktioniert auch alles.

Aber ich möchte jetzt einen Button einfügen, der den Download abbricht.
Wenn ich aber den Download aktiviert habe und ich auf den Button klicke wird die Funktion nicht aufgerufen ich kann auch nicht mehr das Fenster verschieben, minimieren etc.

Wie kann ich den Download im Hintergrund laufen lassen damit ich auch auf Buttons klicken kann?

EDatabaseError 4. Jan 2009 13:24

Re: Datei im Hintergrund downloaden
 
Du könntest den Download in einem Thread auslagern.

-> http://www.hsg-kl.de/faecher/inf/mat...eads/index.php

Tobi

Crowbar 4. Jan 2009 13:27

Re: Datei im Hintergrund downloaden
 
Hi,
wenn Du die INDY Komponente verwendest, dann ziehe zusätzlich die INDY Komponente "IdAntiFreeze" auf dein Formular, dass verhindert das "Einfrieren" der Anwendung.

Gruß Crowbar

Yakumo500 4. Jan 2009 17:53

Re: Datei im Hintergrund downloaden
 
Und dann hätte ich noch eine zweite Frage: wir kann ich bei der Indy Komponente den Fortschritt des Downloads anzeigen lassen?

Ich habs so probiert:

Delphi-Quellcode:
procedure TForm1.IdHTTPWork(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
  ProgressBar.Position := AWorkCount;
end;
Geht aber nicht.

fkerber 4. Jan 2009 18:04

Re: Datei im Hintergrund downloaden
 
Hi!

Vllt. noch ein Application.Processmessages damit auch wirklich neu gezeichnet wird?

Ansonsten kann ich nur das hier empfehlen:
http://www.delphipraxis.net/internal...chrittsanzeige


Ciao, Frederic

Yakumo500 4. Jan 2009 20:53

Re: Datei im Hintergrund downloaden
 
Ich habe jetzt http://www.delphipraxis.net/topic75_d ... amp;highlight=fortschrittsanzeige ausprobiert.
Aber bei mir kannn ich nicht auf einen Button drücken trotz Application.ProcessMessages.

TonyR 4. Jan 2009 21:26

Re: Datei im Hintergrund downloaden
 
Zitat:

Zitat von Crowbar
Hi,
wenn Du die INDY Komponente verwendest, dann ziehe zusätzlich die INDY Komponente "IdAntiFreeze" auf dein Formular, dass verhindert das "Einfrieren" der Anwendung.

Gruß Crowbar

Das war doch für den Button die Antwort!?

Yakumo500 4. Jan 2009 22:06

Re: Datei im Hintergrund downloaden
 
Ich verstehe die IdAntiFreeze Komponente irgendwie nicht.
Meine Form hängt trotzdem.

Muss ich da noch irgendwas einstellen?

Yakumo500 4. Jan 2009 22:15

Re: Datei im Hintergrund downloaden
 
Ah es funktioniert!
Ich habe einfach bei IdleTimeout 10 hingeschrieben.
Vielen Dank

Yakumo500 4. Jan 2009 22:22

Re: Datei im Hintergrund downloaden
 
Hat es Auswürkungen ob ich zwei mal hintereinander die IdHTTP Komponente benutze?

Ich habe sie bisher so benutzt:
FS := Tfilestream.Create('C:\test.exe', fmCreate);
IdHTTP1.Get('http://test.de/test.exe', FS);
FS.Free;

Muss ich vor dem zweiten gebrauch irendetwas freigeben?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:08 Uhr.
Seite 1 von 2  1 2      

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