From 11:00 PM CDT Friday, Nov 8 - 2:30 PM CDT Saturday, Nov 9, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



レジスタイベントコールバックノードの使い方(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.vi
callBack.vi




報告日時: 06/30/2006
最終更新日: 06/26/2009
ドキュメントID: 3YT0ML8V