アプリケーションインスタンスを使用する
- 更新日2025-08-27
- 5分で読める
LabVIEWは、LabVIEWプロジェクトで各ターゲットのアプリケーションインスタンスを作成します。プロジェクトエクスプローラウィンドウからVIを開くと、VIはターゲットのアプリケーションインスタンスで開かれます。また、LabVIEWはプロジェクトの一部でなく開かれているVI、およびプロジェクトから開かれていないVIを含むメインアプリケーションインスタンスを作成します。さらに、LabVIEWでは固有のアプリケーションインスタンスで共有ライブラリをロードします。固有のアプリケーションインスタンスで共有ライブラリを開くと、共有ライブラリ内のVIと共有ライブラリ外にあるVIの間での名前の競合を回避できます。
VIが属するアプリケーションインスタンスは、フロントパネルおよびブロックダイアグラムの左下端に表示されるアプリケーションインスタンスショートカットメニューに表示されるアプリケーションインスタンス名によって識別できます。
VIが開かれている際プロジェクトエクスプローラウィンドウからVIを削除すると、その開いているVIは同じアプリケーションインスタンスに残ります。フロントパネルおよびブロックダイアグラムの左下端に表示されるアプリケーションインスタンスのショートカットメニューを使用して、VIに対してアプリケーションインスタンスを選択することができます。
フロントパネルおよびブロックダイアグラムウィンドウの右上隅にあるVIアイコンを選択して、アイコンをプロジェクトエクスプローラウィンドウのターゲットにドラッグする方法で開かれているVIをプロジェクトに追加するか、またはプロジェクトエクスプローラウィンドウであるターゲットから別のターゲットへ項目をドラッグする場合、アプリケーションインスタンスを選択するまで、開かれているVIはターゲットのアプリケーションインスタンスの一部になりません。
また、アプリケーション:デフォルト:アプリケーションプロパティを使用して、プログラム的にデフォルトアプリケーションリファレンスを返すこともできます。アプリケーションプロパティは、プログラム的にターゲットアプリケーションインスタンスを開きます。
複数のアプリケーションインスタンスでVIを編集する
複数のアプリケーションインスタンスのディスク上で同じVIを同時に開くことができます。たとえば、同じVIを2つの異なるプロジェクト、またはプロジェクト内の2つの異なるターゲットから開くことができます。
1つのアプリケーションインスタンスのみで開かれているVIを編集して、VIを他のアプリケーションインスタンスで開くと、開いたVIには編集されたVIのインスタンスからの最新の変更が含まれています。ただし、複数のアプリケーションインスタンスで既に開かれているVIを編集すると、LabVIEWは他のアプリケーションインスタンスでのVIへの変更を自動的に適用しません。他のアプリケーションインスタンスのVIの編集、実行、または保存は、VIがすべてのアプリケーションインスタンスで同じになるまでできません。
VIをすべてのアプリケーションインスタンスで同じにするためには、以下の方法のいずれかを実行してください。
- VIツールバーの他のアプリケーションインスタンスと同期ボタンをクリックして、すべてのアプリケーションインスタンスのVIに変更を適用します。
- 変更を含むVIを保存します。VIを保存すると、変更内容が自動的に他のすべてのアプリケーションインスタンス内のVIにも変更が適用されます。
- アプリケーションインスタンス内のVIでの変更を取り消します。 メモ VIを同期した後にVIへの編集を取り消すことはできません。
1つのアプリケーションインスタンスでVIサーバプロパティおよびメソッドを使用している場合、また、別のアプリケーションインスタンスと操作したい場合は、アプリケーションリファレンスを使用する必要があります。複数のアプリケーションインスタンスでVIが実行されているかどうかが明白でない場合があります。たとえば、各LabVIEWプロジェクトには固有のアプリケーションインスタンスがあります。project1.lvprojで実行中のVIは、project2.lvprojで実行中のVIと比較すると、異なるアプリケーションインスタンスで実行されています。プロジェクトで実行していないVIは、メインアプリケーションインスタンスで実行されます。さらに、LabVIEWは、labview\help、labview\project、およびlabview\wizardディレクトリにユーザが配置したVIをプライベートアプリケーションインスタンスで開きます。たとえば、labview\projectディレクトリにVIを配置し、このVIをツールメニューから起動する場合、メインアプリケーションインスタンスとは別のプライベートアプリケーションインスタンス(NI.LV.Dialog)でVIが実行されます。
実行中、または他のアプリケーションインスタンスで実行するために予約されているVIを編集できません。VIがプロジェクトライブラリの一部である場合は、VIを実行すると、すべてのアプリケーションインスタンスでプロジェクトライブラリも一時的にロックされます。VIの実行中にプロジェクトライブラリを編集できません。VIが停止した後、プロジェクトライブラリのロックが解除されます。