Thema: Delphi Probleme mit TMainMenu

Einzelnen Beitrag anzeigen

Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Probleme mit TMainMenu

  Alt 26. Mär 2008, 10:17
Zitat von DelphiManiac:
Ja gut, wenn ich meine Timerprozedur auf 200 ms stelle, dann passiert es natürlich nicht mehr so oft,
aber, (meine Timerprozedur dauert ungefähr 20-25 ms) wenn ich genau dann auf das MenuItem klicke wenn meine Timerprozedur läuft,
dann wird die Prozedur nicht abgearbeitet.
Wie gesagt, wenn ich einen Button mit einer normalen Button.Click Prozedur nehme, dann wird diese immer ausgelöst. Hängt das mit der Verarbeitung des Menüs zusammen?
Das hängt damit zusammen, dass die Nachrichtenwarteschleife von Windows nur abgearbeitet wird, wenn
a) das Programm nichts anderes macht
b) explizit Application.ProcessMessages aufgerufen wird

Bis ein Menuitem angeklickt wird, werden mehrere Windows-Nachrichten erzeugt.
1) Klick auf Mainmenu
2) Klick auf Untermenu
3) Klick auf Menuitem

Somit ist die Nachrichtenwarteschleife mit einigen Einträgen gefüllt, die auch abgearbeitet werden müssen.
Dies macht Application.ProcessMessages.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat