' schrieb:Und noch was:
Innerhalb einer EXE gibt es keine Unterordner mehr. Soll heißen:
In der Entwicklungsumgebung kann der Pfad zu einem VI meinetwegen D:/Verzeichnis1/Verzeichnis2/Verzeichnis3/test.llb/VI1.vi lauten.
Nehmen wir an, das aufrufende VI liegt im Verzeichnis1. Solange das VI1 nicht geladen wird, musst du dir natürlich den Pfad entsprechend zusammenbauen.
Innerhalb der EXE lautet der Pfad zum VI1 dann aber: "Pfad zum Verzeichnis der EXE"/"Application.exe"/VI1.vi
Und wie RoLe gerade gesagt hat, rein dynamisch aufgerufene VI's muss man von Hand im Application-Builder dazulinken.
MfG, Jens
Solange ein VI in einem EXE eingebaut ist (also als SubVI irgendwo verwendet wird oder als dynamisches VI zum Projekt hinzugefügt wurde findet LabVIEW das VI immer innerhalb einer Applikation unabhängig ob der Pfad richtig ist. Innerhalb eines Exes geht LabVIEW nämlich folgendermassen vor wenn man versucht eine VI Referenze zu öffnen:
1) Nehme den VI Namen alleine (ohne Pfad wenn vorhanden) und suche im Speicher innerhalb der aktuellen oder spezifischen Applikationinstanz danach. (tut auch LabVIEW selber).
2) Wenn nicht gefunden, dann verwende den Namen um innerhalb der embedded LLB im Executable zu suchen.
(tut LabVIEW selber natürlich nicht also wird da dieser Schritt übersprungen).
3) Wenn immer noch nicht gefunden, verwende den ganzen Pfad und suche da.
4) Wenn jetzt noch nicht gefunden suche in allen Searchpaths die im LabVIEW Environment definiert sind. Normalerweise hat ein Executable aber keine Searchpaths, kann man aber hinzufügen indem man einen entsprechenden Eintrag im INI file des Executables hinzufügt.
5) Wenn nicht gefunden generiere einen Fehler oder frage den Benützer mit einem Filedialog nach dem VI.
Rolf Kalbermatter