![]() |
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? |
Re: Datei im Hintergrund downloaden
Du könntest den Download in einem Thread auslagern.
-> ![]() Tobi |
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 |
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:
Geht aber nicht.
procedure TForm1.IdHTTPWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer); begin ProgressBar.Position := AWorkCount; end; |
Re: Datei im Hintergrund downloaden
Hi!
Vllt. noch ein Application.Processmessages damit auch wirklich neu gezeichnet wird? Ansonsten kann ich nur das hier empfehlen: ![]() Ciao, Frederic |
Re: Datei im Hintergrund downloaden
Ich habe jetzt
![]() Aber bei mir kannn ich nicht auf einen Button drücken trotz Application.ProcessMessages. |
Re: Datei im Hintergrund downloaden
Zitat:
|
Re: Datei im Hintergrund downloaden
Ich verstehe die IdAntiFreeze Komponente irgendwie nicht.
Meine Form hängt trotzdem. Muss ich da noch irgendwas einstellen? |
Re: Datei im Hintergrund downloaden
Ah es funktioniert!
Ich habe einfach bei IdleTimeout 10 hingeschrieben. Vielen Dank |
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 00:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz