![]() |
Delay-Funktion.. - oder wie man die Prozedur kurz anhält
Hallo!
Ich flieg morgen früh in den Urlaub und habe mir nun ein kleines Tool geschrieben, welches die 24-h Trennung überbrückt. Bzw es soll alle 5ms prüfen, ob die Verbindung noch da ist; und wenn nicht, stellt sie gleich wieder eine her. So weit so gut; Nur gibt es das Problem mit den warten von 5ms. Ich habe mir im Inet die beiden Prozeduren rausgesucht:
Delphi-Quellcode:
Zusammen mit:
procedure Tfrm_main.ProcessMessages;
var Msg: TMsg; begin while PeekMessage(Msg, GetCurrentProcess, 0, 0, PM_REMOVE) do begin TranslateMessage(Msg); DispatchMessage(Msg); end; end; procedure Tfrm_main.Delay(const WaitTime: DWord); var Start: DWord; begin Start := GetTickCount; repeat ProcessMessages; until (GetTickCount - Start) > WaitTime; end;
Delphi-Quellcode:
Das Problem ist jetzt, dass die CPU-Auslast bei 100 ist, sobald das Programm aktiv wird.
procedure Tfrm_main.leerlauf;
begin Repeat delay(5000); if verbindung_check = false then set_verbindung(true); until Status = false end; Gibt es eine andere Methode, die Prozedur leerlauf für eine gewisse Zeit (kann auch bei 1 sec liegen) anzuhalten? Danke im voraus :) Ps: Bitte schnelle Request, morgen bin ich schon weg :cyclops: |
Re: Delay-Funktion.. - oder wie man die Prozedur kurz anhält
Machs doch einfach mit einem Timer.
Florian |
Re: Delay-Funktion.. - oder wie man die Prozedur kurz anhält
![]() Es könnte aber auch an dem verbindungscheck liegen der die CPU Auslastung hoch treibt. Wie machst du das denn ? Zitat:
Delphi-Quellcode:
Du meinst wohl 5 Sekunden und nicht 5 Millisekunden.
delay(5000);
|
Re: Delay-Funktion.. - oder wie man die Prozedur kurz anhält
Wusste nicht, dass es so eine Komponente gibt. Funtzt - danke :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 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