Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Dateidownload mit IdHTTP - Anwendung freezed :| (https://www.delphipraxis.net/37711-dateidownload-mit-idhttp-anwendung-freezed-%7C.html)

Lenny-k 9. Jan 2005 11:57


Dateidownload mit IdHTTP - Anwendung freezed :|
 
Ich hab einen HTTP download mit IdHTTP gemacht, und will den Status in einer TGauge und einem TPanel anzeigen!
Aber der Status wird nur in der TGauge angezeigt und die Anwendung ist frozen, während des Downloads... Obwohl ich ein Anti-Freeze auf dem Formular habe :? Was mache ich falsch?

Delphi-Quellcode:
procedure TForm1.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCount: Integer);
var gesamt,aktuell:integer;
begin
  gesamt:=IdHTTP1.Response.ContentStream.Size;
  aktuell:=AWorkCount;
  if gesamt>0 then begin
    Gauge1.Progress:=round(aktuell*100/gesamt);
    Panel1.Caption:=IntToStr(aktuell)+'Bytes von '+IntToStr(gesamt)+'Bytes downgeloadet!';
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
IdHTTP1.Get('http://url-zu-download',TFileStream.Create('z:\test.abc',fmOpenReadWrite));
end;

Die Muhkuh 9. Jan 2005 12:03

Re: Dateidownload mit IdHTTP - Anwendung freezed :|
 
Hi,

mach noch ne idAntiFreeze Komponente auf die Form

phXql 9. Jan 2005 12:09

Re: Dateidownload mit IdHTTP - Anwendung freezed :|
 
Zitat:

Zitat von Spider
Hi,

mach noch ne idAntiFreeze Komponente auf die Form

hat er doch schon ;)

Die Muhkuh 9. Jan 2005 12:13

Re: Dateidownload mit IdHTTP - Anwendung freezed :|
 
Argh,

hab ich übersehen :oops:

Vielleicht hat er bei Active noch false stehen.

SirThornberry 9. Jan 2005 12:15

Re: Dateidownload mit IdHTTP - Anwendung freezed :|
 
wenn du den status mit dem gauge darstellst könntet du an der stelle noch ein Application.ProcessMessages machen. Oder du lagerst das ganze gleich in einen Thread aus.

Lenny-k 9. Jan 2005 12:25

Re: Dateidownload mit IdHTTP - Anwendung freezed :|
 
juhuuuuu!! Danke *g* daran hab ich echt ewig rumgedacht und mit Application.ProcessMessages; gings!!! :)

tester008 10. Jan 2005 11:23

Re: Dateidownload mit IdHTTP - Anwendung freezed :|
 
was ist den eine Application.ProcessMessages

Luckie 10. Jan 2005 11:26

Re: Dateidownload mit IdHTTP - Anwendung freezed :|
 
Die Methode Processmessages sorgt dafür, dass die Nachrichtenschleife des Fensters aufgerufen wird und alle anstehenden Nachrichten abgearbeitet werden. Damit reagiert das Fenster zum Beispiel wieder auf Eingaben bei längeren Schleifen. Es ist allerdings mit Vorsicht zu genießen, da es eventuell zu ungewollten Nebeneffekten kommen kann, wenn eine Schaltfläche noch mal gedrückt wird oder ähnliches.


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