コールバックVI



LabVIEW 2018ヘルプ


発行年月: 2018年3月
製品番号: 371361R-0112
製品情報を参照

ダウンロード (Windowsのみ)


LabVIEW 2015ヘルプ
LabVIEW 2016ヘルプ
LabVIEW 2017ヘルプ
LabVIEW 2018ヘルプ
LabVIEW 2019ヘルプ

コールバックVIには、指定するActiveXまたは.NETイベントを処理するために作成するコードが含まれています。.NETオブジェクトまたは制御器が登録されたイベントを生成する場合、ActiveXコントロールまたは.NETオブジェクトからイベントを処理するには、コールバックVIを作成する必要があります。コールバックVIはイベントの発生時に実行されます。コールバックVIを作成すると、イベントを処理するために開いて編集することができる再入可能VIが作成されます。コールバックVIには、以下の要素が含まれています。

  • イベント共通データには以下の要素が含まれています。
    • イベントソースは、LabVIEW、ActiveX、または.NETなど、イベントのソースを指定する数値制御器です。1の値はActiveXイベントを示します。2の値は.NETイベントを示します。
    • イベントタイプはどのイベントが発生するかを指定します。これはユーザインタフェースイベントの列挙体で、ActiveX、.NET、およびその他のイベントソースの32ビット符号なし整数です。ActiveXイベントでは、イベントタイプは登録されたイベントのメソッドコードまたはIDを表します。.NETの場合、この要素を無視することができます。
    • タイムスタンプは、イベントが生成された時間を示すタイムスタンプ(ミリ秒)です。
  • 制御器Refは、イベントが発生したActiveXまたはオートメーションrefnum、または.NETオブジェクトのリファレンスです。
  • イベントデータは、コールバックVIで処理するイベントに対する特定のパラメータのクラスタです。「イベントコールバックを登録」関数からイベントを選択すると、LabVIEWは適切なイベントデータを指定します。イベントにそれに関連付けられたデータがない場合には、この制御器は「コールバックVI」に作成されません。
  • イベントデータ出力は、コールバックVIが処理するイベントに対する特定の変更可能なパラメータのクラスタです。この要素は、ActiveXイベントまたは.NETイベントが出力パラメータを持つ場合にのみ利用できます。
  • (オプション)ユーザパラメータは、.NETオブジェクトまたはActiveXオブジェクトがイベントを生成したときに、コールバックVIへ渡すデータです。
メモ  使用するVIのコネクタペーンがイベントデータのコネクタペーンと一致していれば、既存のVIをコールバックVIとして使用することができます。コールバックVIは再入可能でなければならず、コールバックVIへの参照は正確に入力する必要があります。

LabVIEWはコールバックVIを割り込みなしで実行できるように、コールバックVIが実行を停止するか、ユーザがモーダルウィンドウをロードするまで、オペレーティングシステムメッセージの処理を遅延します。LabVIEWがオペレーティングシステムメッセージの処理を遅延する場合、LabVIEWフロントパネルは操作できません。モーダルウィンドウは、アクティブのままで残る、またはユーザがウィンドウを閉じるか、別のモーダルウィンドウを開くまで他のすべてのLabVIEWウィンドウ上に残るタイプのウィンドウです。モーダルウィンドウが開いている間は他のウィンドウは操作できません。LabVIEWのほとんどのダイアログボックスはモーダルウィンドウです。

別のプロセスが実行中の際には、LabVIEWコールバックVIまたはDLLから非モーダルウィンドウを開くことはできません。コールバックVIまたはDLLから非モーダルウィンドウを呼び出す詳細については、非モーダルウィンドウをプログラム的に呼び出すを参照してください。

メモ  ActiveXオブジェクトは同期表示でActiveXコールバックVIを呼び出します。これは、コールバックの実行中は他のコードを実行できず、デッドロックが発生する可能性があることを示します。コールバックダイアグラムとその他のコード間の操作を慎重に考慮する必要があります。たとえば、サブルーチンの実行中にコールバックを呼び出す場合、ActiveXコールバックVI内部の再入可能でないサブルーチンを呼び出すと、ハングアップすることがあります。


この記事は役に立ちましたか。

役に立たなかった