![]() |
Mein Programm bremst nach 2 Stunden den Explorer aus!
Hallo Zusammen!
Ich habe folgendes Problem: Ich habe ein Kassenprogramm geschrieben welches mit einer externen Türsteuerung zusammen arbeitet. Dabei bekomme ich kleine LOG Dateien von dem Automaten wenn jemand rein oder raus geht. Dazu habe ich mir einen Timer geschrieben der alle 5 Sekunden das Verzeichnis ließt und nachsieht ob eine neue Datei da ist. Wenn ja wird sie verarbeitet und anschließend gelöscht. So weit so gut. Es funktioniert auch sehr gut nur nach ein paar Stunden wird mein Programm immer langsamer und der Taskmanager zeigt mir das der Explorer 97 % Systemresourcen braucht... Ein Neustart des Explorers bring nicht den Erfolg. Erst ein Neustart meine Applikation hilft. Ich brauche laut Taskman aber nur 0- max 3 %Systemresourcen. Und auch mein Speicherverbrauch liegt in dem Bereich wie nach einem Neustart. Nur was passiert da? hat jemand eine Idee woran das liegen kann??? Grüße Stefan |
Re: Mein Programm bremst nach 2 Stunden den Explorer aus!
Hi!
Du benutzt bestimmt irgendwas, was du nicht richtig freigibst o.ä. Kannst du etwas Code zeigen? Ciao fkerber |
Re: Mein Programm bremst nach 2 Stunden den Explorer aus!
Das ist genau das Problem. Und ich auch nicht geantwortet habe. Warum sollte mein Programm Auswirkungen auf den Ressouzrcenverbrauch eines anderen haben? Aber auf der anderen Seite würde ich auch erstmal kucken, ob ich auch alles wieder freigebe in dem Timer-Ereigniss.
Btw. wie sieht der Verbrauch der Ressourcen des Explorers nach zwei Stunden aus, wenn dein Programm nicht läuft? |
Re: Mein Programm bremst nach 2 Stunden den Explorer aus!
Hi!
Danke für die Antwort... ich glaube ich habe das Problem gefunden. Es gab einen Fall in dem der Searchrec nicht wieder freigegeben wurde und da im Windows die Dateien über den Explorer laufen oder er damit was zu tun hat, habe ich Ihm wohl den Hals abgeschnürt... Beim nächsten mal werde ich direkt Code mit posten! :roll: test jetzt erstmal! Danke!!!! :wink: hier noch der verkürzte Code:
Code:
doserror := FindFirst(sPath + '*.*', FileAttrs, sr);
if (doserror = 0) and (length(sr.Name) > 0) then begin While (sr.Name[1] = '.') or ((Rightstr(sr.Name,3) <> 'LOG') and (Rightstr(sr.Name,3) <> 'ALR')) Do begin doserror := findnext(sr); if doserror <> 0 then begin Wakeup.Enabled := TRUE; Findclose(sr); <- Fehlender Eintrag Break; end; end; sLog_ID := sr.Name; end; Findclose(sr); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:36 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