Ereignissteuerung 6

Wir verfolgen jetzt einmal genau, welche Aufträge verschickt werden, wenn der Stop-Knopf angeklickt wurde:

 

Erläuterung: (Die Nummern entsprechen den Botschaftsnummern in der Graphik)

  1. In der Ereignisschleife stellt die Anwendung der Maus die Frage, ob sie gedrückt ist. Ist gerade der Stop-Knopf angeklickt worden (was ja durch Loslassen der Maus geschieht) meldet die Maus ein NEIN zurück. Die Anwendung stellt daraufhin fest, dass ein MausLosgelassenEreignis eingetreten ist.

       
  2. Die Anwendung sendet daraufhin dem ersten Knopf den Auftrag dieses Ereignis zu verarbeiten : BerarbeiteMausLosgelassen (dieMaus.hPosition, dieMaus.vPosition).  Der erste Knopf sendet den Auftrag an den zweiten, dieser an den dritten usw. bis er beim Stop-Knopf ankommt. In seiner BearbeiteMausLosgelassen Methode stellt der Knopf fest, dass er angeklickt wurde und 

  3. beauftragt sich selbst, seine dafür vorgesehene Aktion auszuführen. Dies geschieht durch einen Prozeduraufruf des Prozedurattributes 'MeineAngeklicktAktion'. Da das Attribut schon vor diesen Ereignissen als 'Wert' die Prozedur KStopAngeklickt der Mühlenanwendung zugewiesen wurde,

  4. ruft der Stop-Knopf also genau diese Methode KStopAngeklickt der Anwendung auf. 

  5. Nicht mehr in der Graphik eingezeichnet ist, dass in der Methode 'KStopAngeklickt' die Mühlenanwendung nun die Mühlen beauftragt, sich nicht mehr zu drehen.