カスタムイベントを作成する
- 更新日2025-08-27
- 7分で読める
独自に定義したデータを送るユーザイベントと呼ばれるカスタムイベントを作成して名前を付けることができます。ユーザイベントを使用すると、アプリケーションの異なる部分を非同期に通信できます。フロントパネルのオブジェクトとの直接的なユーザ操作を必要とするユーザインタフェースイベントとは異なり、ユーザイベントではオブジェクトのプログラム的変更に応答するアプリケーションを作成できます。ユーザインタフェースイベントとプログラム的に生成されたユーザイベントの両方を同じイベントストラクチャ内で処理できます。
使用するオブジェクト
次のブロックダイアグラムオブジェクトを使用してユーザイベントを作成します。
—ユーザイベントを作成
—イベント登録
—イベントストラクチャ
— ユーザイベントを生成
— イベント登録解除
—ユーザイベント破棄
—ユーザイベントを作成
—イベント登録
—イベントストラクチャ
— ユーザイベントを生成
— イベント登録解除
—ユーザイベント破棄解決方法
次のブロックダイアグラムを作成して、定義したデータをプログラム的に送るユーザイベントを作成します。

以下のリストには、前のダイアグラムについての重要な情報が記載されています。
メモ ユーザイベントが登録されていない場合、「ユーザイベントを生成」関数は何も行いません。ユーザイベントが登録されていても、待機しているイベントストラクチャがない場合、LabVIEW はイベントストラクチャがイベント処理を実行するまでユーザイベントとデータをキューに入れ続けます。
注意とアドバイス
- 静的にユーザイベントの登録を行うことはできません。
- 同じユーザイベントを、異なる「イベント登録」関数を使用して何回も登録できます。この場合、「ユーザイベントを生成」関数が実行するたびに、イベント登録Refnumに関連付けられた各キューはユーザイベントおよび関連イベントデータの各自のコピーを受け取ります。
- ユーザイベントは通知イベントで、ユーザインタフェースイベントまたは他のユーザイベントと同じイベントストラクチャのイベントケースを共有できます。
- フロントパネル上でのユーザの操作をシミュレーションするには、既存のユーザインタフェースイベントと同じ名前およびデータタイプのイベントデータ項目を持つユーザイベントを作成します。たとえば、値変更ユーザインタフェースイベントがブール制御器に関連付けるイベントデータ項目と同じであるOldValとNewValいう名前の2つのブールフィールドのクラスタを使用して、MyValChgというユーザイベントを作成することができます。シミュレーションされたMyValChgユーザイベントと実際のブール値変更イベントで、同じイベントストラクチャケースを共有できます。「ユーザイベントを作成」関数がユーザイベントを生成した場合や、ユーザが制御器の値を変更した場合、イベントストラクチャはイベントケースを実行します。
サンプル
イベントをダイナミック登録するサンプルについては、labview\examples\Dialog and User Interface\Events\Events.lvprojを参照してください。
ユーザイベントを使用するサンプルについては、labview\examples\Dialog and User Interface\EventsディレクトリのUser Event Generation VIを参照してください。