Delay???

Von: , Frage gestellt am Mi, 19. Mär 2003

Hallo!

Gibts eine Funktion oder eine API die eine gewünschte Verzögerung hervorruft? Den Timer möchte ich nicht verweden, da wirklich nur ne Verzögerung gebraucht wird und die API Sleep() geht auch net, weil damit für diese Zeit der gesamte Rechner seine Arbeit stoppt...

Hat jemand irgend ne Idee? Sowas gibts doch 100pro?!

Mfg - JENS

2 Antworten zu dieser Frage

  1. Antwort von nach 5 Stunden 0 hilfreich
    Re: Delay???

    Delphi oder Pascal?

    In Delphi würde ich es vielleicht mal so probieren

    //nDelay-Millisekunden nix tun
    procedure Schlafen(nDelay: Integer);
    var
    nStart : Integer;
    begin
    nStart = GetTickCount; // Anfangszeit abgreifen
    while GetTickCount-nStart < nDelay do begin
    Application.ProcessMessages; // Windows Messages verarbeiten
    Sleep(0); //damit auch andere Prozesse Rechenzeit bekommen
    end;
    end; [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

  2. Antwort von nach 9 Stunden 0 hilfreich
    Re: Delay???

    Hi,
    sleep sollte eigentlich nur den aktuellen Thread zum schlafen bringen. Andere Anwendungen gehen dabei weiter.
    Mit der Lösung meines Vorredners, das ganze in eine Schleife und via Application.processmessages durchzuführen wird nicht gehen, da deine Anwendung auch via Message gesteuert wird. D.h. sie läuft weiter. Die schleife dürfte nichts tun ausser Resourcen fressen.
    MFg
    Mathias [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!