LabVIEW erzeugt für jedes Zielsystem in einem LabVIEW-Projekt eine Anwendungsinstanz. Wenn Sie ein VI vom Projekt-Explorer aus öffnen, wird das VI in der Anwendungsinstanz für das Zielsystem geöffnet. Darüber hinaus gibt es immer eine Hauptprogrammkopie, in der geöffnete VIs enthalten sind, die nicht Bestandteil eines Projekts sind oder nicht von einem Projekt aus geöffnet wurden. Außerdem werden DLLs in einer besonderen Anwendungsinstanz geladen. Dadurch werden Benennungskonflikte zwischen VIs in der DLL und VIs außerhalb der DLL verhindert.

Sie können mit Hilfe des Namens der Anwendungsinstanz, der im Kontextmenü in der linken unteren Ecke des Frontpanels oder des Blockdiagramms angezeigt wird, feststellen, zu welcher Anwendungsinstanz ein VI gehört.

Wenn Sie ein geöffnetes VI aus dem Projekt-Explorer entfernen, verbleibt das geöffnete VI in derselben Anwendungsinstanz. Sie können für ein VI eine Anwendungsinstanz auswählen, indem Sie das Kontextmenü in der linken unteren Ecke von Frontpanel und Blockdiagramm öffnen.

Wenn Sie einem Projekt ein geöffnetes VI durch Markieren des VI-Symbols in der rechten oberen Ecke des Frontpanels oder Blockdiagramms und Ziehen dieses Symbols in ein Zielsystem oder durch Verschieben eines VIs von einem Zielsystem in ein anderes im Projekt-Explorer hinzufügen, ist das geöffnete VI nicht Teil der Anwendungsinstanz für das Zielsystem. Sie müssen erst eine Anwendungsinstanz auswählen.

Sie können die Standard-Anwendungsreferenz mit Hilfe der Eigenschaft Anwendung:Standard:Anwendung auch programmatisch ausgeben. Mit Hilfe der Eigenschaft Anwendung können Sie die Anwendungsinstanz des Zielsystems programmatisch öffnen.

Bearbeiten von VIs in mehreren Anwendungsinstanzen

Ein VI auf einem Laufwerk kann gleichzeitig in mehreren Anwendungsinstanzen geöffnet werden. Dasselbe VI kann zum Beispiel in zwei verschiedenen Projekten oder von zwei verschiedenen Zielsystemen aus innerhalb eines Projekts geöffnet werden.

Wenn Sie ein VI bearbeiten, das nur in einer Anwendungsinstanz geöffnet wurde, und dasselbe VI in einer anderen Anwendungsinstanz öffnen, enthält dieses VI bereits die neuesten Änderungen. Wenn Sie jedoch ein VI bearbeiten, das in mehreren Anwendungsinstanzen geöffnet ist, werden die Änderungen nicht automatisch von den VIs in den anderen Anwendungsinstanzen übernommen. Sie können ein VI erst in anderen Anwendungsinstanzen bearbeiten, ausführen oder speichern, wenn die VIs in allen Anwendungsinstanzen identisch sind.

Auf folgende Art und Weise werden die VIs in allen Anwendungsinstanzen vereinheitlicht:

  • Klicken Sie auf die Schaltfläche Mit anderen Anwendungsinstanzen synchronisieren in der VI-Symbolleiste, um die Änderungen in den VIs in allen Anwendungsinstanzen zu übernehmen.
  • Speichern Sie das VI, das die Änderungen enthält. Beim Speichern des VIs werden die Änderungen automatisch von den VIs in allen anderen Anwendungsinstanzen übernommen.
  • Machen Sie die Änderungen am VI in der Anwendungsinstanz rückgängig.
    Hinweis Änderungen am VI können nicht mehr rückgängig gemacht werden, nachdem das VI synchronisiert wurde.

Wenn Sie VI-Server-Eigenschaften und -Methoden in einer Anwendungsinstanz verwenden und diese mit einer anderen Programmkopie zusammenarbeiten soll, benötigen Sie eine Anwendungsreferenz. Es ist jedoch möglicherweise nicht immer klar ersichtlich, wenn VIs in mehreren Anwendungsinstanzen ausgeführt werden. So hat z. B. jedes LabVIEW-Projekt eine eigene Anwendungsinstanz. In project1.lvproj ausgeführte VIs werden in einer anderen Anwendungsinstanz ausgeführt als VIs in project2.lvproj. VIs, die nicht in einem Projekt aufgeführt werden, werden in der Hauptanwendungsinstanz ausgeführt. VIs, die Sie in den Verzeichnissen labview\help, labview\project und labview\wizard ablegen, werden ebenfalls in einer eigenen Anwendungsinstanz geöffnet. Wenn Sie z. B. ein VI in das Verzeichnis labview\project einfügen und dieses VI dann vom Menü Werkzeuge aus starten, wird dieses VI in einer privaten Anwendungsinstanz (NI.LV.Dialog) und nicht in der Hauptanwendungsinstanz ausgeführt.

Ein VI kann nicht bearbeitet werden, wenn es ausgeführt wird oder für die Ausführung in einer anderen Anwendungsinstanz reserviert ist. Wenn ein VI zu einer Projektbibliothek gehört, wird auch die Projektbibliothek in allen Anwendungsinstanzen zeitweise blockiert, während das VI ausgeführt wird. Die Projektbibliothek kann während der Ausführung des VIs nicht bearbeitet werden. Erst nachdem das VI angehalten wurde, wird die Blockierung der Projektbibliothek aufgehoben.