Entwickler-Ecke

Internet / Netzwerk - Indy OnWork Intervall - Programm Freeze


Jukka - Sa 09.09.06 11:32
Titel: Indy OnWork Intervall - Programm Freeze
Hallo,

Ich habe folgendes Problem:

Immer wenn ich via Indy http ein Get mache freezt das Programm. Daher ja das OnWork.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TForm1.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCount: Integer);
begin
application.ProcessMessages;
Progressbar1.Position := AWorkCount;
Application.ProcessMessages;
if (GetTickCount - FTime) >= 1000 then
 begin
   label2.caption := Format('%.2f MB of %.2f MB with %.2f KB/s',
          [AWorkCount/1048576,size/1048576,(AWorkCount - FBytes) / (GetTickCount - FTime)]);
   FTime := GetTickCount;
   FBytes := AWorkCount;
   Application.ProcessMessages;
 end;
end;


Das geht wunderpar, jedoch habe ich ein Problem: Der intervall der aktualisierung ist zu klein, ich will weniger als 1 sekunde, vll sogar eine live anzeige, und außerdem reagiert das Programm überhaupt nichtmehr, ich habe einen Stop Button den ich nichtmal klicken kann.

MfG Ju

PS: Ich habe schon die ANtiFreeze Komponente eingebaut diese funktioiert leider nicht


Jukka - So 10.09.06 17:51

*schieberegel ausnutz*

Weiß das echt niemand? es ist wichtig und habe rumprobiert aber es geht irgendwie nie ...


Born-to-Frag - So 10.09.06 17:52

Hi!

Dafür ist die TidAntiFreeze-Komponente..
Hat bei mir aber nichts gebracht und deswegen hab ich den Download in einen seperaten Thread gelegt ;)

Kannst es ja erst mal mit der Kompo versuchen wenn nicht machst du es wie ich :)


greetz


EDIT: Ok, lese gerade die Komponente hat bei dir auch nichts gebracht :mrgreen:


Jukka - So 10.09.06 18:48

Mit Threads bin ich nochnicht vertraut kannst du kleine ansätze geben? Wäre sehr hilfreich