Startseite ¦  was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews ¦  sonstiges
kylix ¦  tutorials ¦  online shop ¦  fotos ¦  Add&Win Gewinnspiel


Willkommen Gast. Bitte einloggen oder registrieren.
22.05.2012, 13:35:57
Übersicht Hilfe Suche Einloggen Registrieren

+  SwissDelphiCenter Forum
|-+  German Forums
| |-+  Einsteiger Forum
| | |-+  sleep zwischen ereignissen
« vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: sleep zwischen ereignissen  (Gelesen 1979 mal)
Lightning
Hero Member
*****
Offline Offline

Beiträge: 670

100856543
WWW
« am: 18.04.2002, 14:12:34 »

also ich weiß auch nicht was los ist, aber ich hab irgendwie nen blackout. ich habe beispielsweise einen button. wenn ich den klicke sollen verschiedene aktionen ausgeführt werden allerdings mit einem zeitlichen zwischenraum. wenn ich jetzt nach der ersten aktion ein sleep(x) einbaue dann wartet er nicht nach der aktion dieses x ab sondern bevor er alle aktionen durchführt. wie kann ich nach aktion 1 einen zwischenraum einbauen bevor aktion 2 ausgeführt wird?
Gespeichert

Lightning is my name, the night is my element, I'm full of energy, I am energy
Lemy
Hero Member
*****
Offline Offline

Beiträge: 605



« Antworten #1 am: 18.04.2002, 16:26:12 »

Wenn Du Message gesteuerte Sachen machen will, wird das nicht gehen, da ja die Applikation und damit sein MessageHandler deaktiviert sind.
Gespeichert
Lightning
Hero Member
*****
Offline Offline

Beiträge: 670

100856543
WWW
« Antworten #2 am: 18.04.2002, 22:22:41 »

ich will einfach nur mit einer aktion warten:
Code:
Edit1.Text := 'test';

//verzögerung um 1000 millisekunden

Edit2.Text := 'test2';

löse ich das allerdings so, dann wird die erste aktion auch verzögert:
Code:
Edit1.Text := 'test';

Sleep(1000);

Edit2.Text := 'test';
Gespeichert

Lightning is my name, the night is my element, I'm full of energy, I am energy
Lemy
Hero Member
*****
Offline Offline

Beiträge: 605



« Antworten #3 am: 19.04.2002, 11:20:05 »

Ist genau was ich meinte.
Der Text wird zwar gesetzt. Aber es wird nicht upgedatet, weil das WM_PAINT (oder so) für das 1. Editfeld nicht abgearbeitet werden kann, da ja der Applikations-Thread durch Sleep gar nicht mehr aufgerufen wird.
Gespeichert
Rainer
Hero Member
*****
Offline Offline

Beiträge: 1666


WWW
« Antworten #4 am: 19.04.2002, 11:46:14 »

Du könntest versuchen vor dem Sleep das Neuzeichnen des Edit-Feldes veranlassen, z.B. sowas

[font style="font-family: 'Courier New', Courier; font-size: 12px;"]begin
  
Edit1.Text := 'test';
  Edit1.Repaint;
  Sleep(1000);
  Edit2.Text := 'test';
end;
[/font]
Gespeichert

MfG Rainer

end.
AXMD
Sr. Member
****
Offline Offline

Beiträge: 385



WWW
« Antworten #5 am: 19.04.2002, 13:00:30 »

Hi,

du könntest Edit1.Repaint auch durch Application.ProcessMessages ersetzen - das führt alle noch ausständigen Dinge aus (oder so ähnlich, weiß nicht, wie ich's erklären soll!  *g*).

AXMD
Gespeichert

Lightning
Hero Member
*****
Offline Offline

Beiträge: 670

100856543
WWW
« Antworten #6 am: 20.04.2002, 21:06:27 »

achso, da hätt ich eigentlich auch selber drauf kommen können.
Gespeichert

Lightning is my name, the night is my element, I'm full of energy, I am energy
Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS