Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Hallo zusammen,
ich habe eine Anwendung mit dem Erzeuger/Verbraucher Pattern erstellt, wo ich in meinem Ereignis-Case auf einen Button reagiere.
Ich würde nun gerne an anderer Stelle im Programm softwaremäßig das Event auslösen, so als würde ich per Maus den Button betätigen.
Wie mach ich das ?
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
...wobei es nicht darauf ankommt, den Wert wirklich zu verändern. Du kannst also vorn eine lokale Variable desselben Elementes anschließen - das sieht dann aus wie ein Nonsens-Code, bei dem sich nichts verändert. Aber das Ereignis wird ausglöst.
Ist das Element boolsch, dann ist das das Latch-Verhalten nicht mehr möglich. Du brauchst also gegebenenfalls eine weitere lokale Variable, um den Knopf rückzusetzen.
...wobei es nicht darauf ankommt, den Wert wirklich zu verändern.
Das stimmt.
Und als weitere Alternative könnte man auch ein User Event auslösen lassen und in den gleichen Ereigniscase legen. Dann wäre man komplett losgelöst von Button/Porperty Node/Lokaler Varible/Schaltverhaltenproblematik, usw.
Beste Grüße,
NWO
9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris.
NI schrieb:To use the abort button is like using a tree to stop a car!
(31.03.2011 13:20 )NWOmason schrieb: Und als weitere Alternative könnte man auch ein User Event auslösen lassen und in den gleichen Ereigniscase legen.
Ja, ich weiß, das wird immer wieder als die quasi bessere Alternative empfohlen. Also wollte ich auch mit dem allgemeinen Fortschritt mithalten und hatte es vor längerer Zeit mal versucht. Bin allerdings daran gescheitert, das es eben nicht möglich war, in den Ereigniscase für das Userereignis noch ein anderes Eeignis mit hineinzuverlegen, so wie man das sonst immer kann. Oder hatte ich da etwas falsch gemacht?
Habt Ehrfurcht vor mir, denn in den letzten Tagen muß ich mal eine verdammt gute Antwort abgesondert haben. Sehe gerade, dass sich mein Status plötzlich von 2 Dingsbums auf
erhöht hat!!
(31.03.2011 11:29 )NWOmason schrieb: dies geht mit dem Eigenschaftsknoten
Danke, ich kriegs aber nicht hin.
Ich habe den Eigenschaftsknoten vom Button angelegt, als Wert(SGL), was vermutlich heisst signalisierend.
Im Ereignis-Case habe ich für die Ereignisquelle den Button "Set Position" , und da Wertänderung als Ereignis ausgewählt.
Wenn ich den Button mit der Maus anklicke, durchläuft er den case, aber mit "deinem" Eigenschaftsknoten passiert leider nix, das Ereignis-Case wird nicht durchlaufen.
Mach ich da was falsch ?
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
31.03.2011, 14:07 (Dieser Beitrag wurde zuletzt bearbeitet: 31.03.2011 14:12 von Lucki.)
(31.03.2011 13:55 )wernerIBN schrieb: Mach ich da was falsch ?
Die komische lila Farbe und der Punkt:
schreien dich an: das ganz VI funktioniert nicht, weil das boolsche Bedienelement immer noch auf Latch- Verhalten eingestellt ist. (Siehe Hinweis in #4)
(31.03.2011 14:07 )Lucki schrieb: Die komische lila Farbe und der Punkt:
schreien dich an: das ganz VI funktioniert nicht, weil das boolsche Bedienelement immer noch auf Latch- Verhalten eingestellt ist. (Siehe Hinweis in #4)
Danke danke danke danke.
Es geht nun, ich habe das Schaltverhalten auf "bis zum Loslassen schalten" geändert, das komische lila ist jetzt boolisch grün und der "komische" Punkt ist auch weg. Das hätt ich selber nie gefunden, danke an alle, und besonders an Lucki.
Übrigends, der Button sollte ja so funktionieren, wenn ich den mit der Maus betätige, soll er ein event abfeuern. Und optisch natürlich beim anklicken runtergehen, und beim Loslassen wieder rauskommen.
Durch Wegmachen das "Latch-Verhaltens" tuts das nur mit Schaltverhalten auf "bis zum Loslassen schalten". Bei den anderen 2 boolischen bleibt der taster toggelnd, also geht beim ersten anklicken runter, und bleibt unten.
Habe ich es richtig gemacht indem ich daher das Schaltverhalten auf "bis zum Loslassen schalten" gestellt habe ? (mir ist mehrfach feuern egal).
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
(31.03.2011 14:59 )wernerIBN schrieb: [quote='Lucki' pid='117151' dateline='1301576835']
Habe ich es richtig gemacht indem ich daher das Schaltverhalten auf "bis zum Loslassen schalten" gestellt habe ? (mir ist mehrfach feuern egal).
Es funktioniert, wie Du siehst, ab das doppelte Feuern wäre mich nicht egal. Die saubere Löung ist, im Ereigniscase mit einer lokalen Variablen (oder mit Methodenknoten) den Knopf rückzusetzen.