Per Standardeinstellung sperrt LabVIEW das Frontpanel eines VIs, das ein Ereignis erzeugt. Dadurch wird gewährleistet, dass LabVIEW Ereignisse vorhersehbar verarbeitet und Konflikte zwischen Ereignissen verhindert.

Das Sperren des Frontpanels während der Verarbeitung eines Ereignisses funktioniert wie folgt:

  • LabVIEW sperrt das Frontpanel eines VIs, wenn ein von einem Objekt in diesem Frontpanel erzeugtes Ereignis in das Ereignis-Queue eintritt.
  • Während das Frontpanel gesperrt ist, speichert LabVIEW Frontpanel-Interaktionen in einem Puffer.
  • Das Frontpanel bleibt so lange gesperrt, bis alle Ereignis-Strukturen die Behandlung dieses Ereignisses abgeschlossen haben.
  • LabVIEW verarbeitet dann weitere Interaktionen, wenn das Frontpanel entsperrt wird.

Nehmen Sie beispielsweise einen Ereignis-Case, der eine Anwendung startet, die eine Texteingabe vom Benutzer erfordert. Der Benutzer kann mit der Eingabe beginnen, bevor die Anwendung auf dem Frontpanel angezeigt wird.

  • Wenn das Frontpanel gesperrt ist, verarbeitet die Anwendung nach dem Starten und Anzeigen auf dem Frontpanel die Tastendrücke in der Reihenfolge, in der sie erfolgt sind.
  • Wenn das Frontpanel nicht gesperrt ist, werden die Tastendrücke möglicherweise an anderer Stelle auf dem Frontpanel verarbeitet. Das liegt daran, dass LabVIEW ihre Ausführung nicht in eine Warteschlange stellt, sodass sie vom Abschluss des Ereignis-Cases abhängt.

Die Sperrung des Frontpanels für die Ereignisbehandlung hat keinen Einfluss auf bestimmte Aktionen, z. B.:

  • Verschieben des Fensters
  • Arbeiten mit Bildlaufleisten
  • Klicken auf die Schaltfläche Ausführung abbrechen ()
Hinweis Wenn ein Ereignis-Case, mit dem das Frontpanel gesperrt wird, sehr lange dauert, verwenden Sie die Funktion Cursor auf Wartesymbol setzen oder zeigen Sie ein Dialogfeld mit der Meldung an, dass das Frontpanel gesperrt wird.
Hinweis Wenn keine Ereignis-Struktur zur Behandlung eines Ereignisses vorhanden ist und die Frontpanel-Sperre aktiviert ist, reagiert die Benutzeroberfläche des VIs möglicherweise nicht. In diesem Fall ist das VI über die Schaltfläche Ausführung abbrechen () zu beenden. Alternativ können Sie die Frontpanel-Sperre für benutzeroberflächenbasierte Melderereignisse deaktivieren.

Deaktivieren der Frontpanel-Sperre für Melderereignisse

Sie können die Frontpanel-Sperre für Melderereignisse von der Benutzeroberfläche deaktivieren. Mit dieser Funktion wird verhindert, dass die Benutzeroberfläche Ihres VIs eingefroren erscheint, wenn die Ereignisbehandlung lange dauert.

Wenn ein Ereignis von einem nicht gesperrten Frontpanel in eine Queue eintritt, können alle Bedienelemente, einschließlich des Bedienelements, das das Ereignis erzeugt hat, weiterhin Ereignisse erzeugen.

Wenn mehrere Ereignisse auftreten und die Frontpanel-Sperre aufgehoben ist, wartet LabVIEW nicht auf die Freigabe des Frontpanels, bevor es diese verarbeitet.

Hinweis Hinweis Da LabVIEW die Verarbeitung eines Filterereignisses nicht beenden kann, bis der Case abgeschlossen ist, können Sie diese Option nicht für Filterereignisse deaktivieren. Während ein Filterereignis verarbeitet wird, kann das gleichzeitige Verarbeiten anderer Ereignisse die Ereignisabfolge durcheinanderbringen.

Zum Deaktivieren der Frontpanel-Sperre für Melderereignisse gehen Sie wie folgt vor:

  1. Klicken Sie mit der rechten Maustaste auf die Ereignis-Struktur und wählen Sie die Option Ereignisse dieses Cases bearbeiten aus.
    Es öffnet sich das Dialogfeld Ereignisse bearbeiten.
  2. Wählen Sie im Bereich Ereignisse die freizugebenden Melderereignisse aus.
    Tipp Melderereignisse werden mit einem grünen Pfeil angezeigt. Filterereignisse sind mit einem roten Pfeil gekennzeichnet.
  3. Deaktivieren Sie diese Option Frontpanel-Aktionen erst verarbeiten, wenn der Ereignis-Case seine Ausführung abgeschlossen hat.