レジスタイベントコールバックノードの使い方(ActiveXイベントコールバック)
使用ソフトウェア:
使用ソフトウェア・バージョン: 7.1
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: LabVIEW Development Systems>>LabVIEW Full Development System
問題: アクティブX(ActiveX)のイベントで、さまざまな処理を行わせたいと思います。
LabVIEWでのイベントのプログラムのように、イベントストラクチャを使うのですか?
どのようなプログラムにすればいいですか?
解決策: アクティブX(ActiveX)のイベントに応じて、さまざまな処理を行わせたい場合には、ActiveXイベントコールバックという機能を使います。この機能は、登録したActiveXイベントが発生した場合に、登録したサブVIを呼び出して実行するという機能です。
この機能を使う場合には、”レジスタイベントコールバックノード”を使います。
イベントストラクチャは必要ありません。
コールバック用のVIは、登録するイベントに合わせた特別な形のVIになります。通常は、ノードの”VI ref"を右クリックして、メニューから”コールバックVIを作成”としてタイプ指定のVIリファレンスを作成します。このVIリファレンスをダブルクリックすると、コールバック用のVIが開きます。ブランクVIから直接作るような場合にはコネクタが同じ配置になるようにする必要があります。コールバックVIは再入可能VIにすることをお勧めします。VIが再入可能でない場合は、イベントが複数回発生したときに同時に呼び出すことができず、イベントを処理できなくなってしまいます。
添付のサンプルは、ブラウザが表示を終えると、コールバックVIを呼び出して実行するものです。コールバックVIにはワンボタンダイアログが入っていますので、ブラウザが表示し終えるとダイアログが表示されます。フロントパネルにActiveXコンテナ機能でインターネットエクスプローラを貼り付けてあり、読み込みボタンを押すとインターネットエクスプローラに指定されたURL(デフォルトではサンプル画像)を表示します。そのイベントでコールバックVIが呼ばれます。サンプルVIはLabVIEW7.1で作成し、Windows XP上でIE6.0のActiveXを使っています。
関連リンク:
添付: ActiveX Event CallBack.vicallBack.vi
報告日時: 06/30/2006
最終更新日: 06/26/2009
ドキュメントID: 3YT0ML8V
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.