19.07.2010, 15:08
Beitrag #1
|
Matze
LVF-Team
Beiträge: 1.027
Registriert seit: Apr 2010
20xx
2010
DE_EN
7xxxx
Deutschland
|
Pfad zum Haupt-VI ermitteln
Hallo zusammen,
ich ermittel folgendermaßen Werte von Eingabeelementen:
Das rufe ich im Haupt-VI auf und muss immer die Pfadkonstante "Pfad des aktuellen VIs" angeben.
Kann ich irgendwie den Pfad zum Haupt-VI ermitteln, sodass ich diesen fest hinterlegen kann?
Das Ganze sollte auch noch funktionieren, wenn das Programm mit dem Application Builder kompiliert wurde.
|
|
|
19.07.2010, 15:40
(Dieser Beitrag wurde zuletzt bearbeitet: 19.07.2010 15:42 von oenk.)
Beitrag #2
|
|
|
19.07.2010, 16:06
Beitrag #3
|
Matze
LVF-Team
Beiträge: 1.027
Registriert seit: Apr 2010
20xx
2010
DE_EN
7xxxx
Deutschland
|
Pfad zum Haupt-VI ermitteln
Hallo,
herrlich, wie einfach das mit dem Rüberziehen der PNG in das Blockdiagramm ist.
Danke. Ganz kann ich das nicht nachvollziehen. Du nimmst den Pfad des aktuellen VIs (gerade dieses VI möchte ich ja vermeiden) und prüfst, ob die Dateiendung ".exe" ist.
Wenn ja, gibst du das Verzeichnis der Exe zurück?
Das bekommt ich doch auch über das VI "Applikationsverzeichnis" oder nicht?
|
|
|
20.07.2010, 06:01
Beitrag #4
|
|
|
20.07.2010, 07:22
Beitrag #5
|
oenk
LVF-Stammgast
Beiträge: 361
Registriert seit: May 2005
>= 7.1
2004
EN
3018
Schweiz
|
Pfad zum Haupt-VI ermitteln
' schrieb:Danke. Ganz kann ich das nicht nachvollziehen. Du nimmst den Pfad des aktuellen VIs (gerade dieses VI möchte ich ja vermeiden)
Dann hab ich dich wohl nicht ganz verstanden. Du hast in deinem Snippet ein Pfad-Controll verdrahtet und müsstes den Pfad immer von Hand eingeben.
' schrieb:Das bekommt ich doch auch über das VI "Applikationsverzeichnis" oder nicht?
Ja du hast recht, das könnte man auch über das Applikationsverzeichnis machen. Dieser Code-Snippet stammt noch von LV7.1 und wurde in jede neue Applikation via meinem default LV-Framework kopiert. Kannte dieses VI noch gar nicht. Werde demnach mein Framework überarbeiten....
In theory, there is no difference between theory and practice; In practice, there is.
Chuck Reid
|
|
|
20.07.2010, 17:57
Beitrag #6
|
GerdW
______________
Beiträge: 17.469
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
Pfad zum Haupt-VI ermitteln
Hallo oenk,
ab LV8.0 könnte dein Snippet so aussehen:
Wo du eh' grad dein Framework überarbeiten willst
|
|
|
20.07.2010, 19:02
Beitrag #7
|
Matze
LVF-Team
Beiträge: 1.027
Registriert seit: Apr 2010
20xx
2010
DE_EN
7xxxx
Deutschland
|
Pfad zum Haupt-VI ermitteln
Gibt das nicht auch nur das Verzeichnis zur Anwendung (= exe-Datei) aus?
In neueren LV-Versionen gibt es das VI "Applikationsverzeichnis" bei den Datei-/Pfadkonstanten.
So, nun aber bitte zurück zur Ausgangsfrage.
|
|
|
20.07.2010, 20:52
Beitrag #8
|
GerdW
______________
Beiträge: 17.469
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
Pfad zum Haupt-VI ermitteln
Hallo Mechatroniker,
wieso willst du den ganzen Pfad als Konstante hinterlegen? Birgt das nicht ungeahnte Fehlerquellen, sobald dein User auf die Idee kommt, die Exe nicht im vorgesehenen Verzeichnis zu installieren???
Deshalb mein Vorschlag: OpenVIRef gibt dir auch eine Referenz, wenn du nur den Namen des VIs angibst (als String-Konstante). Standardmäßig schaut LV nämlich nach, welche VIs schon im Speicher sind...
|
|
|
20.07.2010, 20:58
(Dieser Beitrag wurde zuletzt bearbeitet: 20.07.2010 20:58 von Matze.)
Beitrag #9
|
Matze
LVF-Team
Beiträge: 1.027
Registriert seit: Apr 2010
20xx
2010
DE_EN
7xxxx
Deutschland
|
Pfad zum Haupt-VI ermitteln
Stimmt, ich möchte nicht den absoluten Pfad, sondern den relativen. In dem Fall würde das dem VI-Namen entsprechen.
In einigen Programmiersprachen sollten relative Pfade unbedingt vermieden werden, nur bei LabVIEW scheinen die sich immer auf das Anwendungsverzeichnis zu beziehen.
Wenn das geht, wäre es eine Möglichkeit. Ich war mir nur nicht sicher, was passiert, wenn ich eine Exe-Datei habe, da es dann ja keine VIs mehr gibt.
Aber die werden vermutlich irgendwie einkompiliert, damit diese Angabe noch passt.
Lässt sich denn der Name des Haupt-VIs ermitteln, auch aus einem SubVI heraus?
Ich würde mir gerne die Konstante "Pfad des Haupt-VIs" ersparen und direkt in einem SubVI unterbringen.
|
|
|
20.07.2010, 21:03
(Dieser Beitrag wurde zuletzt bearbeitet: 20.07.2010 21:03 von GerdW.)
|
GerdW
______________
Beiträge: 17.469
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
Pfad zum Haupt-VI ermitteln
Hallo Mechatroniker,
"eine Exe-Datei habe, da es dann ja keine VIs mehr gibt."
Falsch, auch in einer Exe hast du weiterhin deine VIs - nur halt ohne Blockdiagramm...
"Lässt sich denn der Name des Haupt-VIs ermitteln, auch aus einem SubVI heraus?"
Dafür gibt es die " Call Chain", zu finden in der Applications Control-Funktionspalette.
|
|
|
| |