Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: Warten bis der OnIdle-Eventhandler fertig ist

  Alt 13. Mai 2004, 06:31
Ja, TimerRoutine setzen, dort kommt der Code rein, der nach dem Abarbeiten von OnIdle gemacht werden soll. Im OnKeyDown setzt du dann am Ende Timer1.Enabled := True, und dann springt das Programm zurück in die OnIdle. Am Ende der OnIdle wird dann der Rest von OnKeyDown wegen des Timers ausgeführt. Allerdings musst du am Anfang der OnTimer-Routine Enabled wieder auf False setzen.
Falls du in der OnIdle allerdings ProcessMessages verwendest, so musst du den Umweg so machen:
Delphi-Quellcode:
//in OnKeyDown:
Timer1.Tag := 1;
//...
//in OnIdle:
//...
Timer1.Enabled := Timer1.Tag = 1;
Timer1.Tag := 0;
Ich hoffe das Prinzip ist einigermaßen verständlich
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat