1. 2. 15   Ereignisroutinen

Gelegentlich reicht das zur Verfügung stehende Bausteinsystem nicht aus oder vorgefertigte Bausteine lösen die Aufgabe nur unübersichtlich und unflexibel. In solchen Situationen kann mit Hilfe von des Tcl-Interpreters und den spezifischen Befehlserweiterungen eine höhere Flexibilität erreicht werden. Bei den Ereignisroutinen handelt es sich um Methoden, die an ein Objekt geknüpft sind.



Abhängig vom Objekt stehen verschiedene Ereignisroutinen zur Verfügung. Eine Auflistung befindet sich im Befehlsteil zu Ereignisroutinen.

Grundsätzlich wird zwischen 2 Klassen von Ereignisroutinen unterschieden:
check-
Die  Routine wird vor der Ausführung des Ereignisses aufgerufen und benötigt einen booleschen Rückgabewert. Ist der Rückgabewert true, dann wird das Ereignis ausgeführt, bei false wird die Ausführung verweigert. Hier kann die Simulation durch das Verweigern von Ereignissen also gezielt gesteuert werden.
after -
Die Routine wird nach der Ausführung des Ereignisses aufgerufen und benötigt keinen Rückgabewert. Die Ausführung des Ereignisses selbst kann hier nicht mehr beeinflusst werden. Diese Klasse dient deshalb z.B. zum Setzen von Eigenschaften für die spätere Analyse.

Nach dem Markieren des entsprechenden Typs der gewünschten Ereignisroutine kann im unteren Teil mittel Kontextmenü navigiert werden:
Eigenschaften Code - Der Editor zum Ändern der Routine wird geöffnet.
Eigenschaften Fehler -
Der Editor zur Anzeige der letzten Fehlermeldung wird geöffnet.
Neuer Ereignishandler - Dem Objekt wird eine neue Ereignisroutine (Name: fortlaufende Nummer) ohne Inhalt hinzugefügt.
Entfernen - Entfernt die Ereignisroutine
Alle entfernen - Entfernt alle Ereignisroutinen des Typs
Abbruch - Schließt das Kontextmenü

Die Verwendung von Ereignisroutinen erfordert Programmierkenntnisse der Skriptsprache Tcl/Tk und etwas Erfahrung im Umgang mit simulationsrelevanten Objekten. Ein Beispiel befindet sich hier.