![]() |
IndyHTTP-Aufruf in DLL = hohe Auslastung ?
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. |
Re: IndyHTTP-Aufruf in DLL = hohe Auslastung ?
wie es scheint ist es auf die TidHTTP bezogen...
ich hab das gleich problem. Hast du dazu eine lösung..!? |
Re: IndyHTTP-Aufruf in DLL = hohe Auslastung ?
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? :gruebel: ) Flare |
Re: IndyHTTP-Aufruf in DLL = hohe Auslastung ?
Zitat:
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); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:35 Uhr. |
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