AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi CPU Fresser beim Warten auf ein Flag - Lösung ?
Thema durchsuchen
Ansicht
Themen-Optionen

CPU Fresser beim Warten auf ein Flag - Lösung ?

Ein Thema von moelski · begonnen am 21. Dez 2006 · letzter Beitrag vom 22. Dez 2006
 
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

CPU Fresser beim Warten auf ein Flag - Lösung ?

  Alt 21. Dez 2006, 22:23
Moin !

Ich habe da ein Problem und hoffe mal das mir jemand weiterhelfen kann.
Und zwar habe ich irgendwo (ich glaube hier im Forum) mal ne Procedur gefunden, die auf ein Flag wartet. Die schaut so:
Delphi-Quellcode:
procedure WaitForFlag(Flag : PBoolean ; TimeOutSeconds : integer = 10);
var EndTime : Extended;
begin
  Flag^ := True;
  EndTime := Now() + TimeOutSeconds * OneSecond;

  while (Flag^ = True) and (Now() < EndTime) do
    Application.ProcessMessages;
  //if Flag^ then raise ETimeOut.Create;
end;
Das funktioniert auch alles prima. Nur die CPU Last steigt beim warten in ganz ungünstige Höhen. Teilweise bis 99% und dabei ist es auch fast egal, wie schnell der Rechner ist.

Frage also ... Hat jemand eine Procedure, die solange wartet bis ein Flag gesetzt ist? Andere Programmteile sollte natürlich im Hintergrund nicht geblockt werden.
Und ja ich brauche so eine Funktion, weil ich immer auf einen Bestimmten Zustand warten muss. Geht leider nicht anders.

Wäre für einen Tip Dankbar

Anbei noch ein kleines Demoprojekt was das Prob zeigt ...

Greetz Dominik
Angehängte Dateien
Dateityp: zip waitfor_983.zip (7,6 KB, 4x aufgerufen)
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
 


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 23:24 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