AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IdHTTP friert Programm ein - was tun?
Thema durchsuchen
Ansicht
Themen-Optionen

IdHTTP friert Programm ein - was tun?

Ein Thema von ManuMF · begonnen am 23. Mär 2007 · letzter Beitrag vom 25. Mär 2007
Antwort Antwort
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#1

IdHTTP friert Programm ein - was tun?

  Alt 23. Mär 2007, 19:40
Hallo,

ich habe ein Programm geschrieben, das per HTTP Dateien hochlädt. Ich habe es an meinem eigenen PC getestet, und da lief es auch perfekt. Wenn ich nun allerdings eine Adresse im Internet verwende, aktualisiert das Programm nur etwa alle 10 Sekunden (der Upload scheint aber normal zu laufen).

Im OnWork des IdHTTP aktualisiere ich den Status einer ProgressBar und führe ProcessMessages aus (sofern AWorkCount durch 100 teilbar ist, um nicht zu viel CPU zu fressen).

Wie kann ich es lösen, damit das Programm nicht einfriert? Es reagiert zwar noch, aber eben erst nach langer Zeit. Auch die Beschränkung im Onwork zu entfernen hat nichts gebracht.

Danke,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: IdHTTP friert Programm ein - was tun?

  Alt 23. Mär 2007, 19:43
Hi,

Versuch mal die Indy-Komponente Delphi-Referenz durchsuchenIdAntiFreeze. Einfach auf die Form ziehen und es sollt gehen

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#3

Re: IdHTTP friert Programm ein - was tun?

  Alt 23. Mär 2007, 20:11
Habe ich jetzt probiert, aber keine Änderung
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#4

Re: IdHTTP friert Programm ein - was tun?

  Alt 23. Mär 2007, 20:20
Hast du es mal mit Application.ProcessMessages probiert ?

Andernfalls zeig mal bitte den genauen Code.

Gruß
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#5

Re: IdHTTP friert Programm ein - was tun?

  Alt 23. Mär 2007, 20:27
Ja, siehe oben.

Zum Hochladen letztendlich nur
Antwort := IdHTTP.Post('Dateiname'); und das OnWork:
Delphi-Quellcode:
procedure TUploadForm.IdHTTPWork(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Integer);
begin
  UDateiA_A := AWorkCount;
  UDateiG_A := UDateiA_A + UDateiG_X;

  If ((UDateiA_A Mod 100) = 0) then
  begin
    AStatusBar.position := Round(UDateiA_A / UDateiA_M * 100);
    GStatusBar.position := Round(UDateiG_A / UDateiG_M * 100);

    Caption := Format('Upload [%d%%]', [Round(UDateiA_A / UDateiA_M * 100)]);

    Application.ProcessMessages;
  end;
end;
(Die StatusBar und Variablen mit G sind für den Gesamtstatus, da mehrere hochgeladen werden können)

Ich habe auch schon ohne die Modulo-Beschränkung probiert, aber da ändert sich nichts (außer dass im localhost-Betrieb die CPU-Auslastung in die Höhe schnellt).

Abgesehen von den Statusbars wird auch der Rest (ein Timer, ein Button etc.) aufgehalten.
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#6

Re: IdHTTP friert Programm ein - was tun?

  Alt 25. Mär 2007, 14:26
Hm, ich habe jetzt "auf Kilobyte umgestellt", teile also AWorkCount etc. erst durch 1024 und speichere es in einer neuen Variable, und jetzt klappt es, sogar ohne IdAntiFreeze.

(Ich habe aber noch nicht getestet, ob ohne die Modulo-Beschränkung der Upload über localhost wieder ausgebremst wird.)
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 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