AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Delay-Funktion.. - oder wie man die Prozedur kurz anhält
Thema durchsuchen
Ansicht
Themen-Optionen

Delay-Funktion.. - oder wie man die Prozedur kurz anhält

Ein Thema von BackOrifice · begonnen am 2. Okt 2005 · letzter Beitrag vom 2. Okt 2005
Antwort Antwort
Benutzerbild von BackOrifice
BackOrifice

Registriert seit: 6. Jun 2005
74 Beiträge
 
Delphi 2007 Architect
 
#1

Delay-Funktion.. - oder wie man die Prozedur kurz anhält

  Alt 2. Okt 2005, 17:04
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:
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;
Zusammen mit:
Delphi-Quellcode:
procedure Tfrm_main.leerlauf;
begin
  Repeat
    delay(5000);
    if verbindung_check = false then set_verbindung(true);
  until Status = false
end;
Das Problem ist jetzt, dass die CPU-Auslast bei 100 ist, sobald das Programm aktiv wird.
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
Henning
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Delay-Funktion.. - oder wie man die Prozedur kurz anhält

  Alt 2. Okt 2005, 17:05
Machs doch einfach mit einem Timer.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: Delay-Funktion.. - oder wie man die Prozedur kurz anhält

  Alt 2. Okt 2005, 17:18
Eine Resourceschonendere Variante von Delay

Es könnte aber auch an dem verbindungscheck liegen der die CPU Auslastung hoch treibt.
Wie machst du das denn ?

Zitat:
Nur gibt es das Problem mit den warten von 5ms.
delay(5000); Du meinst wohl 5 Sekunden und nicht 5 Millisekunden.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von BackOrifice
BackOrifice

Registriert seit: 6. Jun 2005
74 Beiträge
 
Delphi 2007 Architect
 
#4

Re: Delay-Funktion.. - oder wie man die Prozedur kurz anhält

  Alt 2. Okt 2005, 17:23
Wusste nicht, dass es so eine Komponente gibt. Funtzt - danke
Henning
  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 12:47 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