LabVIEWForum.de
Exe erstellen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Application Builder (/Forum-Application-Builder)
+---- Thema: Exe erstellen (/Thread-Exe-erstellen)



Exe erstellen - Don_Corleone - 15.09.2010 09:15

Hallo Zusammen,

die Suche lieferte mir zu diesem Thema leider nichts brauchbares...
Problem:
Sobald mein Programm (exe), welches ich aus den ganzen VIs erstellt habe, auf eine Datei zugreifen will die in einem bestimmten Ordner liegt (relativer Pfad in der VI) kommt eine Fehlermeldung das die Datei nnicht geöffnet werden konnte. Ich vermute dass der Pfad nach dem Erstellen der Exe nicht mehr stimmt, kann das sein?
In einem Online-Tutorial von NI wird etwas von einem Property-Node (Applikation Kind) erzählt welches ein Case steuert (Pfadanpassung)... aber irgendwie komm ich nicht damit klar.
Kann mir vielleicht jemand kurz erklären wie ich diesen Eigenschaftsknoten korrekt einbinde? Oder gibt es noch eine andere Möglichkeit?


Danke
der Don


Aso: LabVIEW 8.6


Exe erstellen - jg - 15.09.2010 09:20

LVF-Link:
http://www.labviewforum.de/index.php?s=&am...st&p=101493

Gruß, Jens


Exe erstellen - Don_Corleone - 15.09.2010 15:19

Hi Jens,

danke für den Link.
Könntest Du vielleicht die angehängte VI etwas genauer erklären vor allem die Zusammenhänge? Bin der absolute LabVIEW-Beginner... nicht mal gefährliches Halbwissen bei mir. ;-)
Der Vorgang in der Case ist mir klar, der Rest eher schleierhaft :-).

Gruß
der Don

LabVIEW 8.6
[attachment=29427]


Exe erstellen - jg - 15.09.2010 22:17

Was genau willst du erklärt haben?

Die Funktion "Current VI's path" liefert dir den Dateipfad eines VI inkl. VI-Dateiname. Solange du in der Entwicklungsumgebung bist, ist das z.B. "C:Dir1Dir2Dir3name.vi". Einmal "Strip Path" macht daraus "C:Dir1Dir2Dir3", genau das, was man haben will.

Jetzt kannst du in LabVIEW auch eine Exe mit dem Application Builder erstellen. Eine Eigenheit von LabVIEW ist, dass dabei - vereinfacht gesprochen - eigentlich nur alle benötigen VIs zusammengepackt werden. Die Funktion "Current VI's path" funktioniert also weiterhin, liefert jetzt aber "C:Dir1Dir2Dir3Main.exename.vi". Um jetzt also zum Ablageverzeichnis der Exe zu kommen, braucht es einmal Strip-Path mehr.

Will man es universell einsetzen, dann benutzt man z.B. das VI, dass du hochgeladen hast. Denn die verwendete PropertyNode "Application Kind" liefert, ob sich das VI gerade in einer Exe (->Rückmeldung Run Time System") oder nicht befindet.

Das alles ist jetzt nicht gerade das unbedingt nötige Einsteiger-Wissen für einen LabVIEW-Neuling, und ohne ein grundlegenden Verständnis, was eine PropertyNode (Eigenschaftsknoten) uvm. ist, auch nicht einfach zu verstehen. Aber das kommt noch.

Gruß, Jens


Exe erstellen - Don_Corleone - 16.09.2010 06:33

Ich denke ich hab's verstanden, danke für die Erklärung!
Werd die VI mal einbinden, vielleicht schaff ich das ja ohne Hilfe :-).

Gruß

PS: Die Beschaltung der Property Node in der VI (Bool, Text, Leerfeld) ist mir nicht schlüssig, kannst Du dazu was sagen?


Exe erstellen - GerdW - 16.09.2010 08:08

Hallo Don,

wann immer du auf einen VI/Funktions-Eingang rechtsklickst und Erstelle->Konstante wählst, wird die passende Konstante erstellt.
Hier ist es eine ErrorCluster-Konstante für den ErrorIn-Eingang der Property-Node. (Die wäre hier nicht nötig gewesen, da der Default-Wert sowieso auf "no error" gesetzt ist.) Der ErrorCluster ist sehr wichtig, da sich 1) Fehlermeldungen weiterreichen lassen und 2) damit wunderbar der Datenfluss gesteuert werden kann...