イベント処理のフロントパネルロック動作
- 更新日2026-08-20
- 4分で読める
デフォルトでは、LabVIEWはイベントを生成するVIのフロントパネルをロックします。この動作により、LabVIEWはイベントを予測どおりに処理し、イベント間の競合を回避できます。
LabVIEWがイベントを処理している間のフロントパネルのロックは、次のように動作します。
- LabVIEWは、フロントパネル内のオブジェクトから生成されたイベントがイベントキューに入ると、そのVIのフロントパネルをロックします。
- フロントパネルがロックされている間、LabVIEWはフロントパネルの操作をバッファに格納します。
- すべてのイベントストラクチャがそのイベントの処理を終了するまで、フロントパネルはロックされたままになります。
- その後、フロントパネルのロックが解除されると、LabVIEWは以降の操作を処理します。
たとえば、ユーザからのテキスト入力を必要とするアプリケーションを起動するイベントケースを考えてみます。アプリケーションがフロントパネルに表示される前にユーザが入力を開始する場合があります。
- フロントパネルがロックされている場合、アプリケーションが起動してフロントパネルに表示されると、キー入力が発生順に処理されます。
- フロントパネルのロックが解除されている場合、キー入力はフロントパネルの他の場所で処理される可能性があります。これは、LabVIEWがそれらの実行をイベントケースの完了に依存するようにキューに入れないためです。
イベント処理のフロントパネルロックは、以下のような特定の動作には影響しません。
- ウィンドウを移動する
- スクロールバーを操作する
- 実行を中断ボタンをクリックする (
)
メモ フロントパネルをロックするイベントケースの実行に過度に時間がかかる場合、ビジー設定関数を使用するか、またはダイアログボックスを表示して、フロントパネルがロックされていることをユーザに通知することを考慮してください。
注記 イベントを処理するためのイベントストラクチャが迅速に実行されず、フロントパネルのロックが有効になっている場合、VIのユーザインタフェースは応答しなくなることがあります。この現象が発生した場合、実行を中断ボタン (
) をクリックしてVIを停止します。または、ユーザインタフェースベースの通知イベントのフロントパネルロックを無効にすることもできます。
) をクリックしてVIを停止します。または、ユーザインタフェースベースの通知イベントのフロントパネルロックを無効にすることもできます。通知イベントの場合フロントパネルのロックを無効化する
ユーザインタフェースから通知イベントのフロントパネルロックを無効にできます。この機能を使用して、イベント処理の完了に長時間かかる場合にVIのユーザインタフェースが凍結状態にならないようにします。
ロックされていないフロントパネルからのイベントがキューに入った場合でも、イベントを生成した制御器を含むすべての制御器でイベントを生成できます。
複数のイベントが発生し、フロントパネルのロックが無効になっている場合、LabVIEWはフロントパネルのロック解除を待機せずにイベントを処理します。
メモ ケースが完了するまでLabVIEWはフィルタイベントの処理を終了できないため、フィルタイベントのこのオプションを無効にすることはできません。LabVIEWがフィルタイベントの処理中に他のイベントを処理できるようにすると、イベントが発生する順序が乱れる場合があります。
通知イベントのフロントパネルロックを無効にするには、以下の手順に従ってください。
-
イベントストラクチャの枠を右クリックし、このケースで処理されるイベントを編集を選択します。
イベントを編集ダイアログボックスが表示されます。
-
イベント領域で、ロックを解除する通知イベントを選択します。
ヒント 通知イベントは緑色の矢印で表示されます。フィルタイベントは赤い矢印で表示されます。
- イベントのケースが完了するまでパネルをロック (ユーザ操作の処理を延期) のチェックマークを外します。
関連コンテンツ
- ユーザインタフェースイベントのタイプ
LabVIEWは、ユーザインタフェースの操作に基づくイベントを通知イベントとフィルタイベントの2つのタイプに分類します。これらのタイプは通常異なる機能を実行し、LabVIEWデータフローは各タイプを異なる方法で処理します。