AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi IndyHTTP-Aufruf in DLL = hohe Auslastung ?
Thema durchsuchen
Ansicht
Themen-Optionen

IndyHTTP-Aufruf in DLL = hohe Auslastung ?

Ein Thema von Unplugged · begonnen am 3. Jun 2005 · letzter Beitrag vom 25. Jun 2006
Antwort Antwort
Unplugged

Registriert seit: 14. Apr 2004
Ort: Leipzig
125 Beiträge
 
Delphi 6 Enterprise
 
#1

IndyHTTP-Aufruf in DLL = hohe Auslastung ?

  Alt 3. Jun 2005, 22:50
Hallo,

da es wahrscheinlich schon zuviel Code ist, um es hier zu posten, versuche ich das Problem mal möglichst genau zu beschreiben.

Ich hab eine dll, in der es eine Funktion GetFiles gibt. Sie erstellt lokal ein TIdHTTP und läd die Dateien, die in einem Record + verkettete Liste stehen. Übergabe erfolgt dabei als Pointer. Desweiteren übergebe ich 2 ProgressBar und 1 Label für Ausgaben.

In der Applikation erstelle ich einen TThread und lade dort die Dll-Funktion ( zur Laufzeit ) und führe sie natürlich auch aus.


Problem:
Erstmal sei zu sagen, dass er alles so macht wie er soll. Aber er verursacht während des Downloads 100% Auslastung der CPU.
Da ich noch am Anfang der DLL-Pogrammierung bin, vermute ich mal, dass es mein Fehler ist ?

Ich hab das Projekt mal angehangen. Es müsste noch die Dll und dann halt die Exe kompiliert werden. Zum testen muss die url drin bleiben.

Edit: ok war mein Fehler. Ich hatte das ganze in der FormActivate drin und bei TThread ein WaitFor eingefügt. Dadurch wurde bis dahin das Form blockiert. Warum das auch zu der hohen Auslastung führt, ist aber komisch. Liegt wohl an dem WaitFor.
  Mit Zitat antworten Zitat
bailey

Registriert seit: 9. Mär 2006
19 Beiträge
 
#2

Re: IndyHTTP-Aufruf in DLL = hohe Auslastung ?

  Alt 25. Jun 2006, 11:29
wie es scheint ist es auf die TidHTTP bezogen...

ich hab das gleich problem.
Hast du dazu eine lösung..!?
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#3

Re: IndyHTTP-Aufruf in DLL = hohe Auslastung ?

  Alt 25. Jun 2006, 11:31
Also wie man die Systemauslastung runter bekommt weiß ich nicht, aber man könnte die Trhead-Priorität runterschrauben, dann hängt der PC trotzdem nicht.
(Und warum ist da kein Anhang? )

Flare
Willy Scheibel
  Mit Zitat antworten Zitat
bailey

Registriert seit: 9. Mär 2006
19 Beiträge
 
#4

Re: IndyHTTP-Aufruf in DLL = hohe Auslastung ?

  Alt 25. Jun 2006, 12:04
Zitat von Flare:
aber man könnte die Trhead-Priorität runterschrauben, dann hängt der PC trotzdem nicht.
Die ist schon niedrig - IDLE_PRIORITY_CLASS

Das ist mein Code:

Delphi-Quellcode:
n:=0;
     try
      for i := 0 to AltArray.Count -1 do
      begin
          if (TDateien(AltArray.items[i]^).Available = false) then
              begin
              LParams.Add('id'+inttostr(n)+'='+inttostr(ID));
              LParams.Add('md5'+inttostr(n)+'='+TDateien(AltArray.items[i]^).MD5);
              form1.StatusLabel.Caption := 'delete old files from database ';
              inc(n);
              end; //if
      end; //for
       // ab hier kackt er ab..
      response := IdHTTP1.Post('http://'+form1.DatabaseServerEdit.Text+'/delphi.php', LParams);
  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 17:30 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