NEWS
[gelöst] 2 Trigger in einem Script -> Cannot read properties
-
Ich versuche in einem Script auf 2 verschiedene Datenpunkte zu trigger. Dazu hab ich mir 2 Datenpunkte angelegt.
Beide als Zeichenkette.
In diesem Script hier :
erhalte ich folgende Fehler:
Wenn ich den Script ändere - so das nur noch ein Trigger da ist, funktioniert es:
Ich stehe gerade auf dem Schlauch....
-
@heimweh mach mal beim ersten screenshot das „setze liste auf“ dann mit leeren listenbaustein über den ersten trigger noch. so ähnlich wie du es im zweiten screen auch hast. Aber den rest so lassen. Denke die variabel muss vorher initiiert werden da sie sonst leer ankommt beim zweiten trigger. Deswegen undefined.
Glaube zumindest das es so gehen sollte bei blockly.
-
@ciddi89 meinst Du so?
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="vySW^F2Z$!?#ZB+F%.Wn">Liste</variable> </variables> <block type="on" id="w;3$23%FP8Loxe!.tY9J" x="-262" y="-37"> <field name="OID">javascript.0.Variablen.Testfunktionen.pins</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="debug" id="T:XXq%;?nW#-t9?R;.~D"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="4)UlOH@S:FK{Y~Rn0+Na"> <field name="TEXT">test</field> </shadow> <block type="on_source" id="wlJw:neV4;^0_HM=KD71"> <field name="ATTR">state.val</field> </block> </value> <next> <block type="variables_set" id="0G?9_fZ!Yl}{0SzLCW`a"> <field name="VAR" id="vySW^F2Z$!?#ZB+F%.Wn">Liste</field> <value name="VALUE"> <block type="lists_create_with" id="j2gUK+=N+kO1jE~i^sK8"> <mutation items="0"></mutation> </block> </value> <next> <block type="variables_set" id="4[Q%P7Pe=!tK#2DRw.E6"> <field name="VAR" id="vySW^F2Z$!?#ZB+F%.Wn">Liste</field> <value name="VALUE"> <block type="lists_split" id=";GK+n2uz%RSom+Vo6%rU"> <mutation mode="SPLIT"></mutation> <field name="MODE">SPLIT</field> <value name="INPUT"> <block type="on_source" id="daNoj]6h(VD%@Nx%dJAv"> <field name="ATTR">state.val</field> </block> </value> <value name="DELIM"> <shadow type="text" id="leqWqSW56rl0$?Sf%~JE"> <field name="TEXT">,</field> </shadow> </value> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="on" id="D2TP_ij%@D*0^dg6f.:r"> <field name="OID">javascript.0.Variablen.Testfunktionen.PIN_Eingabe</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="~KPz%b[f2Qd^ohOUe}-K"> <value name="IF0"> <block type="logic_compare" id="LlTEs}}{kAjw9-RQK-4d"> <field name="OP">EQ</field> <value name="A"> <block type="math_number" id=")uC:O4xgw|zlTs9r[x`1"> <field name="NUM">0</field> </block> </value> <value name="B"> <block type="lists_indexOf" id="a8PWECgAjrWyQn7,BzMK"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="XtS|@{q(+X?tD/]8[it?"> <field name="VAR" id="vySW^F2Z$!?#ZB+F%.Wn">Liste</field> </block> </value> <value name="FIND"> <block type="on_source" id="}}*=6lZu]/Wk4nR_2AHY"> <field name="ATTR">state.val</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="/fL)91G?kNq3ko#5[HZ@"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="z=H9IdPcP;lRWLHOD0)2"> <field name="TEXT">Match</field> </shadow> </value> </block> </statement> </block> </statement> </block> </next> </block> </xml>
-
@heimweh nein der baustein so ist richtig aber er muss über den trigger also über die zwei grossen falls objekt blöcke
-
@ciddi89 - tausend Dank!!! Jetzt geht es. Für alle die das selbe Problem haben - hier das lauffähige Script.
So ganz verstehe ich dann aber nicht wieso mein zweites Beispiel funktioniert.
-
@heimweh weil du die variabel im trigger initiiert hast und nicht ausserhalb, so können die nicht nach aussen gegeben werden in andere blöcke sonder nur innerhalb des blockes benutzt werden. Hoffe das ist verständlich =D
-
@ciddi89 ja
ich danke Dir!