Hallo,
ich suche eine Lösung für folgendes Problem.
Eine Variable soll ein Event auslösen (bei onChange) nachdem Ihren Wert übers Webfront mittels custom_action ändert. (klassischer Ein/Aus Button - funktioniert problemlos)
FRAGE: Wie kann ich den Wert einer solchen Variable per php-script ändern, ohne daß das Event getriggert wird ?
dies funktionniert nicht, ausser nach dem setValue-Befehl wird ein sleep eingebaut (was ich nicht will - einerseits aus Zeitkritischen Gründen - andererseits die benötigte Dauer des sleep nicht bestimmt werden kann)
Du könntest vor der Änderung das Ereignis inaktiv setzen. Dann ändern, dann das Ereignis wieder aktivieren. Du könntest dann natürlich in den Fall laufen, dass das Ereignis ausgelöst werden soll, es aber nicht wird, weil es gerade inaktiv ist.
Das Event löschen und die gewünschten Aktionen direkt in das Aktionsskript legen.
Dann werden diese Aktionen nur noch über das WebFront bzw. RequestAction ausgeführt.
Und du kannst weiterhin die Variable mit SetValue ändern, ohne das die Aktion ausgelöst wird.
Siehe auch letzter Absatz zu Aktionsskript in der Doku.
Hallo, vielen Dank für die Antwort.
Leider funktioniert das bei mir nicht. Wie bereits beschrieben, bleibt der Trigger nur aus, wenn ich zwischen SetValue un setEventActive eine Pause einbaue.
Vermutlich ist sonst das Event längst wieder aktiv, bevor das System es triggert.
Hallo Nall-chan,
leider ist es etwas komplizierter.
Im prinzip folgendes:
Ändern der Variable(A) soll Event A auslösen. (bei onChange)
Als Reaktion auf ein anderes Event (B) will ich die Variable A ändern, ohne daß Event A nochmals ausgelöst wird. Variable A soll sozusagen den nur richtigen Zustand anzeigen. Die Aktionen wurden bereits durch Event B erledigt.
Darum sage ich ja, diese Logik ist falsch gebaut.
Was soll bei Event A passieren wenn sich die Variable ändert?
Das soll ja nur ausgelöst werden, wenn du A über das WebFront bedienst.
Dann gehören die Aktionen von Event A in das Aktionsskript und es wird kein Event A benötigt.
Event B kann dann jederzeit noch Variable A über SetValue ändern, ohne das die Aktionen aus dem Aktionsskript ausgelöst werden.
Michael
Hallo Nall-chan,
vielen Dank für die Hilfe.
Verstehe jetzt deine Idee.
Werde mal versuchen, meine Scripts umzuschreiben. Wird etwas aufwendig, sollte aber klappen (bis auf die üblichen Überraschungen).