' schrieb:Ich wollte mal fragen, wie es eigentlich bei Eventcases abläuft, wenn man Wertänderung eingestellt hat und das "Latch bei Drücken". Der Wert wird ja eigentlich hier zweimal geändert. Einmal beim Drücken und das andere mal beim loslassen. Merk das die Eventcase oder für diese die Operation zweimal durch???? Wenn ja, welches Schaltverhalten soll ich einstellen, damit der Button auf seinen alten wert spring ohne ihn zu ändern.
P.S.: Ich weiß nicht ob Achim mit seiner ersten Antwort gemeint hat, dass während die Case durchlaufen wird können soviele wie möglich an Wertänderungen passieren ohne das die Case gestört wird.
Stimmt nicht, die zweimalige Wertänderung im Sinne von Ereignis-Auslösung findet gar nicht statt.
"Latch beim Loslassen" funktioniert so:
1) Kopf wird von Bediener gedrückt. Es findet aber keine Wertänderung statt, der Wert bleibt 0 (false).
2) Der Knopf wird von Bediener losgelassen: Die Wertänderung 0/1 findet jetzt statt, Knopf bleibt gedrückt. Die Wertänderung wird als Ereignis registriert.
3) Der Knopf wird von Programm gelesen (er sollte im Ereigniscase platziert sein) Das Lesen, und erst das, führt zum Herausspringen des Knopfes und Wertänderung 1/0. Das ist aber keine "Wertänderung" im Sinne eines Ereignisses, denn hier gelten nur
Bedienereignisse als solche (Ausnahme ist: Wertzuweisung über Eigenschaft "Wert signalisierend")
Anmerkung: Von den möglichen 6 Modi des Schaltverhaltens sind nur Nr 1 und Nr 5 von echter Bedeutung, alle anderen sind Exoten. Beispiel: "Latch beim Drücken" funktioniert genau so wie "Latch beim Loslassen, und man sollte denken, das ist der Favorit. Hat aber einen Haken: Das Lesen des Knopfes läßt für gewöhnlich nicht lange auf sich warten, der Knopf springt sofort kaum daß er gedrückt wurde wieder heraus. Der Bediener denkt dann, der Knopf hat sich überhaupt nicht drücken lassen, und das ist psychologisch unbefriedigend.