Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi anti freeze idhttp (https://www.delphipraxis.net/78587-anti-freeze-idhttp.html)

XXcD 7. Okt 2006 11:57


anti freeze idhttp
 
Hallo, ich hab mit idhttp und mit einem Balken der anzeigt wieviel von der Datei geloadet ist. Jetzt hab ich noch eine antifreeze Funktion drin aber das Programm friert immer für 20 sekunden ein und dann funktioniert es einmal ganz kurz. Wie kann ich das ändern?

Zacherl 7. Okt 2006 12:16

Re: anti freeze idhttp
 
Versuch mal Application.ProcessMessages im OnWork Ereignis.

Florian

XXcD 7. Okt 2006 12:20

Re: anti freeze idhttp
 
Also die Process message ist schon drin
Delphi-Quellcode:
procedure TForm13.IdHTTPWork(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCount: Integer);
begin
  if not((GetTickCount - FTime) <= 0) then
  begin
    try

    except
    end;
  end;
  FTime := GetTickCount;
  FBytes := AWorkCount;
  Application.ProcessMessages;
end;

Zacherl 7. Okt 2006 12:23

Re: anti freeze idhttp
 
Dann wird wohl das OnWork Ereigniss nur alle 20 Sekunden aufgerufen, vielleicht, weil die Komponente so viel von der Datei downloaded, wie der Buffer groß ist, dann das OnWork Ereigniss ausführt, den Buffer leert und dann den zweiten Teil der Datei downloaded.

Florian

XXcD 7. Okt 2006 12:25

Re: anti freeze idhttp
 
Gibt es denn da eine kommplett andere möglichkeit damit das nicht einfriert?

Zacherl 7. Okt 2006 13:01

Re: anti freeze idhttp
 
Vielleicht über einen Timer immer wieder ProcessMessages aufrufen, aber ob das sinnvoll ist, ist eine andere Frage ...

XXcD 7. Okt 2006 13:09

Re: anti freeze idhttp
 
hmmm, der regiert immer noch nicht schneller, aber gibt es nicht ein Tutorial wo das gleich ist aber nicht immer einfriert?

Zacherl 7. Okt 2006 13:13

Re: anti freeze idhttp
 
Wenn es wirklich so ist, dass der Buffer in diesem Falle zu groß ist, könntest du ja mal versuchen die Buffergröße runterzusetzen.

XXcD 7. Okt 2006 13:18

Re: anti freeze idhttp
 
Wo steht die denn ???? Ich hab von dem IdHttp noch nicht so viel erfahrung.

Zacherl 7. Okt 2006 13:21

Re: anti freeze idhttp
 
Genau weiß ich es auch nicht, aber gibt es nicht eine property BufferSize oder MaxBufferSize, oder so?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 Uhr.
Seite 1 von 2  1 2      

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-2025 by Thomas Breitkreuz