Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit "Sleep"-Anweisung (https://www.delphipraxis.net/11215-problem-mit-sleep-anweisung.html)

bender251 2. Nov 2003 10:39


Problem mit "Sleep"-Anweisung
 
Hallo

ich habe ein Problem mit der Sleep-Anweisung. In meinem Programm, soll ein Label, das bei FormCreate auf visible := false gesetzt wird sichtbar gemacht werden. Aber nur für 2 Sekunden und dann wieder unsichtbar werden.

Ich habe es folgendermaßen versucht:

Delphi-Quellcode:
label1.visible := true;
sleep(2000);
label1.visible := false;
Das funktioniert aber irgendwie nicht. :gruebel: Das Label wird icht angezeigt.
Wenn ich zu Kontrollzwecken vor das Sleep eine Showmessage einbaue, dann wird das Label angezeigt, wahrscheinlich, weil dann die Sleep-Anweisung nicht unmittelbar hinter der visible := true Anweisung kommt.
Kann mir jemand sagen warum das nicht funktioniert bzw. wie das funktioniert?

Mit freundlichen Grüßen
bender251

Daniel B 2. Nov 2003 10:42

Re: Problem mit "Sleep"-Anweisung
 
Mach mal vor und hinter dem Sleep ein Application.ProcessMessages.

Luckie 2. Nov 2003 10:44

Re: Problem mit "Sleep"-Anweisung
 
Das funktioniert nicht weil sleep dein Programm ganz lahm legt. Lösung: DELAYDELAY

bender251 2. Nov 2003 10:54

Re: Problem mit "Sleep"-Anweisung
 
@Daniel B: Cooooool...............Vielen Dank für die Antwort. Klappt prima. :cheers:

Nur mal interessehalber: Was bewirkt dieses Application.Processmessages? Die Hilfe gibt da nicht so die Auskunft zu, wenn ich nichts übersehen habe.

Gruß bender251

Dagon 2. Nov 2003 10:56

Re: Problem mit "Sleep"-Anweisung
 
Das unterbricht das Programm, damit Windows auf Ereignisse reagieren kann.

bender251 2. Nov 2003 10:59

Re: Problem mit "Sleep"-Anweisung
 
Junge geht das heir schnell mit den Antworten. :thuimb:

Vielen Dank an alle.

Gruß bender251

Luckie 2. Nov 2003 11:02

Re: Problem mit "Sleep"-Anweisung
 
Ähm, umgekehrt. Es unterbricht eine Routine im eigenen Programm, damit das eigene Programm dazu kommt die MessageLoop abzuarbeiten und so auf Nachrichten von Windows reagieren kann.

Wozu soll ich mein Programm unterbrechen, damit Windows auf Nachrichten reagiert? :mrgreen:

himitsu 2. Nov 2003 11:11

Re: Problem mit "Sleep"-Anweisung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Luckie,

wieso soll das nicht funktionieren?

Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
  Begin
    Label1.Visible := True;
    Application.ProcessMessages;
    Sleep(2000);
    Label1.Visible := False;
  End;
Delphi-Quellcode:
Label1.Visible := True;
Application.ProcessMessages;
Sleep(2000);
Label1.Visible := False;
Application.ProcessMessages;
{nachfolgende Anweisungen}

Luckie 2. Nov 2003 11:14

Re: Problem mit "Sleep"-Anweisung
 
Habe ich irgendwo, irgendwas geschrieben, dass was nicht funktionieren soll? Die Erklärung von the_master war nur verkehrtrum.

himitsu 2. Nov 2003 11:16

Re: Problem mit "Sleep"-Anweisung
 
Zitat:

Das funktioniert nicht weil sleep dein Programm ganz lahm legt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:52 Uhr.
Seite 1 von 2  1 2      

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