LabVIEWForum.de - Eventqueue löschen

LabVIEWForum.de

Normale Version: Eventqueue löschen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Gibt es eine Möglichkeit auf die Event-Queue einer VI draufzuzugreifen?

Wenn nein, wie könnte ich die Befehle, die im Hintergrund "ge-queued" werden abblocken?

mfg

Martin
Wie wäre es, bei jedem Event-Case den Haken bei "Lock front panel ..." zu setzten? Dann kommen während der Abarbeitung eines Events keine neuen User-Events hinzu.

Ansonsten, wüsste nicht, dass das geht.

MfG, Jens
auch wenn das Lock eingeschaltet ist, werden Events die auf bestimmte FP Elemente angemeldet sind, gequeued.
Die folgenden Moeglichkeiten gibt es, um mit Sicherheit keine Events waehrend der Ausfuehrung zu queuen:

FP vom VI oeffnen und mit Modaloption enabled darstellen
Bedingte Events anmelden und ggf canceln
Alle Controls auf dei irgendein Event angemeldet ist deaktivieren
Keyboard + Mouse ueber windows API funktionen deaktivieren
' schrieb:auch wenn das Lock eingeschaltet ist, werden Events die auf bestimmte FP Elemente angemeldet sind, gequeued.
Die folgenden Moeglichkeiten gibt es, um mit Sicherheit keine Events waehrend der Ausfuehrung zu queuen:

FP vom VI oeffnen und mit Modaloption enabled darstellen
Bedingte Events anmelden und ggf canceln
Alle Controls auf dei irgendein Event angemeldet ist deaktivieren
Keyboard + Mouse ueber windows API funktionen deaktivieren

hey, das mit alle Controls deaktivieren erscheint mir eine gute Möglichkeit zu sein...vielen Dank für die Anregungen!
' schrieb:hey, das mit alle Controls deaktivieren erscheint mir eine gute Möglichkeit zu sein...vielen Dank für die Anregungen!

das mit dem deaktivieren war mir dann doch zu aufwendigSmile

Ich habe eine noch einfachere Methode gefunden:

1) Einfach eine transparente TabControl bauen
2) Diese TabControl mit "Move to front" an die oberste Position im Frontpanel bringen
3) Diese TabControl beim Start des Programms auf unsichtbar schalten
4) Dann wieder sichtbar machen, wenn andere Events (Controls) geblockt werden sollen

Ist schon toll, wie man LabVIEW austricksen kann, oder? ZockenWald
' schrieb:das mit dem deaktivieren war mir dann doch zu aufwendigSmile

Ich habe eine noch einfachere Methode gefunden:

1) Einfach eine transparente TabControl bauen
2) Diese TabControl mit "Move to front" an die oberste Position im Frontpanel bringen
3) Diese TabControl beim Start des Programms auf unsichtbar schalten
4) Dann wieder sichtbar machen, wenn andere Events (Controls) geblockt werden sollen

Ist schon toll, wie man LabVIEW austricksen kann, oder? ZockenWald

Also ein transparenter Button tut es auch ganz gut und ist sicher weniger resourcenhungrig als ein TabControl.

Rolf Kalbermatter
Hallo,

Ich lasse mal diese alte Diskussion wieder aufleben.

Ich habe eine Sequenz. Im ersten Frame ist ist eine While-Schleife die mit dem Knopf STOP abgebrochen wird.
Im zweiten Frame ist eine Event Struktur die auf Value change von STOP reagiert.
Ich möchte, dass der Event "value change" des STOP-Knopfes aber erst zum Tragen kommt wenn die erste While-Schleife beendet ist.
Mit andern Worten: Ich möchte mit dem ersten Drücken von STOP nur die erste Schleife beenden aber keinen Event auslösen.
Gibt es die Möglichkeit den Event zu löschen oder erst garnicht zu erzeugen ?

Ich hänge ein Bsp.-Programm an.

LG Michael
Hallo Michael,

arbeite mit benutzerdefinierten Events und registriere den Stopp-Button erst nach deiner Schleife...
Hallo Gerd,

Vielen Dank für deine Antwort. Dies hat die Funktionalität die ich gesucht habe Smile nur dass ich den Event erst garnicht erzeuge und somit muss ich ihn auch nicht löschen.


LG Michael
Eine ganz unspekatuläre Lösung wäre natürlich, das Event immer ausführen zu lassen, aber eine Casestruktur mit zwei Cases einzubauen, wovon einer Leer ist. Beim ersten Aufruf wird nur der leere Case abgearbeiteit.
Außerdem: Eine State-machine ist immer besser als ein Sequenz, auch in diesem einfachen Fall...
Außerdem: Der Stop-Knopf sollte doch nach getaner Arbeit wieder herausspringen...
Außerdem: Bei Beenden mit dem Schließkopf willst Du in der Entwicklungsumgebung das VI doch nicht verschwinden lassen?

[attachment=41971]
Referenz-URLs