Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wait und timer (https://www.delphipraxis.net/19654-wait-und-timer.html)

runger 6. Apr 2004 17:30


Wait und timer
 
Hallo,
warum funktioniert diese Procedure nicht, wenn sie in einer Timerroutine setht?

Delphi-Quellcode:
procedure Wait(time:word);
var start: integer;
begin
start := GetTickCount;
while GetTickCount - start <= time do
Application.ProcessMessages;
end;
Rainer

Alter Mann 6. Apr 2004 17:37

Re: Wait und timer
 
Hallo Runger,

aus verschiedenen Gründen würde Ich sagen.

1. Time ist eine Function, dafür würde ich ein anderen Bezeichner wählen.
2. Da es nicht im Bsp. zu erkennen ist, musst Du deien Timer anhalten und
nach dem Aufruf von Wiat neu starten.

runger 6. Apr 2004 17:41

Re: Wait und timer
 
Hallo,

das ist alles klar.
Die Timerroutine läuft mit einem Intervall von 2000 msec.
wait(200) warum habe ich dann ein ruckeln im Hauptfenster
wenn ich diese bewege?
wait wird in der timerroutine aufgerufen!

Rainer

Alter Mann 6. Apr 2004 17:45

Re: Wait und timer
 
Hi runger,

da musst Du schon mehr rüberschieben.

SirThornberry 6. Apr 2004 18:51

Re: Wait und timer
 
Das ruckeln dürfte zustande kommen weil die whileschleife performance frisst

runger 7. Apr 2004 10:49

Re: Wait und timer
 
Hallo,

nein das Hauptfenster bleibt für die Zeit des wait blockiert!

Ihr könnt das ganz leicht nachvollziehen:

timer auf formular, dort wait rein mit 2sec
timer auf 20000 msec

Fenster lässt sich für jeweil 2sec nicht bewegen!

Rainer

runger 7. Apr 2004 14:22

Re: Wait und timer
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo

hängt ganz klar mit dem Timer zusammen. Hier als Anhang meine Testsoftware.
Timer1 läuft 5sec dann laufen die 2sec wait.

Timer2 läuft 5sec dann 2sec wait_ext
wait ist mit processmessages realisiert, das ander mit handlemessage.

der 5 Button startet wait mit 2sec direkt dann gehts.

Man kann bei dem Versuch mit den Timern für 2sec das Fenster nicht bewegen.

Bitte bitte kann jemand helfen

Rainer


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 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