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!
ich habe in einem Programm mehrere Buttons deren Signal ich kontinuierlich überwachen will.
Gibt es eine elegantere Methode während des kompletten Verlaufs des Programmes Buttons zu überwachen und bei deren Betätigung eine Reaktion hervorzurufen?
EDIT: Wenn Du komplexere Dinge ablaufen lassen möchtest, eignet sich besser eine State-Machine. In der Eventstruktur werden normalerweise nicht so viele Funktionen in einen Eventcase gepackt.
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
' schrieb:Hier ein kleines Bsp.:
[attachment=61038:Eventstruktur.vi]
Gruß Markus
EDIT: Wenn Du komplexere Dinge ablaufen lassen möchtest, eignet sich besser eine State-Machine. In der Eventstruktur werden normalerweise nicht so viele Funktionen in einen Eventcase gepackt.
Danke, so ähnlich habe ich es auch hinbekommen, aber warum bitte stürzt mein Programm dann beim zweiten Ausführen des folgenden Events ab:
Also, es läuft zwar noch ohne Fehlermeldung weiter, aber der Mauszeiger bleibt in Form des Fingers, wie er erscheint, wenn man über einem Button ist und es werden auch so keine Eingaben mehr erkannt oder angenommen.
Liegt es an der fehlenden While-Schleife um die Ereignisstruktur?
' schrieb:Liegt es an der fehlenden While-Schleife um die Ereignisstruktur?
Genau. Die Ereignisstruktur selbst sieht zwar von der Optik so aus wie eine Schleife, ist aber selbst keine. Wenn die Schleife um die Ereignisstruktur fehlt, stürzt das Programm aber nicht, wie Du schreibst, ab, sondern es wird schlichtweg beendet, da alles erledigt ist was zu tun war.
' schrieb:Genau. Die Ereignisstruktur selbst sieht zwar von der Optik so aus wie eine Schleife, ist aber selbst keine. Wenn die Schleife um die Ereignisstruktur fehlt, stürzt das Programm aber nicht, wie Du schreibst, ab, sondern es wird schlichtweg beendet, da alles erledigt ist was zu tun war.
Das Problem dabei ist aber, dass sich in dem Programm noch andere While-Schleifen befinden. Die können doch nicht einfach übergangen werden, oder?
Es müsste doch eigentlich die Ereignisstruktur nach einmaligen Ausführen nicht mehr reagieren, aber der Rest des Programmes problemlos weiterarbeiten.
Oder sehe ich das was falsch?
24.01.2011, 14:52 (Dieser Beitrag wurde zuletzt bearbeitet: 24.01.2011 14:52 von GerdW.)
die siehst nicht falsch, aber übersiehst etwas:
Bei deiner Eventstruktur ist auf ein Ereignis festgelegt. Dieses will die Eventstruktur abarbeitet, sobald sie an die Reihe kommt. Deine Struktur kommt aber nur genau einmal an die Reihe - jede weitere Bearbeitung wird unmöglich. Dann übersiehst du noch das Häkchen bei "Blockiere UI während der Bearbeitung des Events" (so oder so ähnlich), dies führt zu dem von dir beschriebenen "Absturz" - der aber keiner ist, sondern nur ein Blockieren des UIs...
die siehst nicht falsch, aber übersiehst etwas:
Bei deiner Eventstruktur ist auf ein Ereignis festgelegt. Dieses will die Eventstruktur abarbeitet, sobald sie an die Reihe kommt. Deine Struktur kommt aber nur genau einmal an die Reihe - jede weitere Bearbeitung wird unmöglich. Dann übersiehst du noch das Häkchen bei "Blockiere UI während der Bearbeitung des Events" (so oder so ähnlich), dies führt zu dem von dir beschriebenen "Absturz" - der aber keiner ist, sondern nur ein Blockieren des UIs...
Danke für die Erläuterung. Ohne das Häkchen lässt sich mein Programm in der Tat weiterhin bedienen.