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 ?
Zitat:dies geht mit dem Eigenschaftsknoten
...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.
(31.03.2011 13:15 )Lucki schrieb: [ -> ]Zitat:dies geht mit dem Eigenschaftsknoten
...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
(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 [
attachment=33028] 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 ?
(31.03.2011 13:55 )wernerIBN schrieb: [ -> ]Mach ich da was falsch ?
Die komische lila Farbe und der Punkt:
[
attachment=33029]
schreien dich an: das ganz VI funktioniert nicht, weil das boolsche Bedienelement immer noch auf Latch- Verhalten eingestellt ist. (Siehe Hinweis in #4)
Hallo wernerIBN,
oder du verwendest eine Eventstruktur, bei der über die Weränderung des Button eine Aktion ausgelöst wird.
Grüße Wanz
(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).
(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.