Jump to content

Empfohlene Beiträge

Geschrieben

Hallo,

da ich nicht weiß, ob die Ereignisverwaltung Schritt für Schritt oder teilweise parallel verarbeitet wird stellt sich mir gerade folgende Frage:

Wenn ich (bei paralleler Verarbeitung) ein benutzerdefiniertes Ereignis aus verschiedenen Modulen gleichzeitig aufrufe, wird dann dieses Ereignis in verschiedenen Instanzen ausgeführt oder werden die Aufrufe zwischengespeichert und nacheinander ausgeführt. Denn das ein Aufruf im Nirvana verschwindet hat Neo mit Sicherheit ausgeschlossen. Ich gebe zu die Wahrscheinlichkeit des Eintritts dieses Falles ist sehr gering, aber eben nicht gänzlich ausgeschlossen. (Murphys Law: Was schiefgehen kann wirde auch schiefgehen!)

Nachdem ich auf meiner Anlage den kleinen Kreis (Durchgangsbahnhof und links/rechts je ein Schattenbahnhof) mit ein paar kleineren Problemen zum Laufen bekommen habe, merkte ich , daß mir bei der Ausfahrt aus einem Schattenbahnhof ein kleiner Fehler nach dem Kopieren des Ereignisses unterlaufen ist. Ich hatte einfach vergessen eine Variable zu ändern. Dabei kam mir die Idee, daß wenn sowieso der Ablauf aus allen Schattenbahnhöfen gleich ist, könnte ich ja alle erforderlich Werte in die Modulvariablen des Bahnhofs schreiben. Dann brauche ich dem benutzerdefierten Ereignis nur das jeweilige Modul als Parameter mitgeben. Natürlich müssen dann alle erforderlichen Variablennamen identisch sein.

Das mache ich ja beim Schreiben von Programmen auch so. Wenn eine Sequenz von  Befehlen im Programm mehrmals vorkommt, wird daraus eine Funktion (mit Rückgabewert) oder eine Prozedur (ohne Rückgabewert) gemacht. Das erleichtert das Debugging und eventuelle Änderungen ungemein.

Gruß Old Grey

Geschrieben

Hallo Old Grey,

die Ereignisverwaltung verarbeitet alle Ereignisse sequentiell, es gibt keine parallele Verarbeitung. Es wird zudem auch sichergestellt, dass Ereignisse in der Reihenfolge verarbeitet werden, wie sie in der EV auch angeordnet sind (von oben nach unten, Ereignisse vor Modulen).

Viele Grüße,

Neo

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...