Hallo zusammen.
Ein schon seid längerem bestehendes Programm habe ich um eine txt Datenausgabe erweitert. Soweit funktioniert auch alles ganz gut, nur nicht in der kompilierten Version.
Die alte .bld Datei habe ich um das neue dynamische VI erweitert (save_in_TXT_din). Es taucht nach der Installation der exe Datei auch in dem gewünschten Ordner auf. Jedoch findet das Programm beim Aufruf dieser Option das Vi leider nicht. Ich habe es im application builder unter "source files" als dynamisches VI und als support file versucht einzufügen, jedoch ohne Erfolg. Alle womöglich wichtigen Bilder hierzu habe ich unten angefügt.
Meine erste Frage hierzu wäre, was muss ich denn in LV 6.0.2 beachten wenn ich ein dynamisches VI einbinde?
Ich hoffe Ihr könnt mir weiter helfen,
vielen Dank und freundliche Grüße
Einfügen des VI's im application builder:
[
attachment=16565]
Fehlermeldung:
[
attachment=16566]
Pfad für VI Aufruf:
[
attachment=16567]
save_in_txt VI:
[
attachment=16568]
Ich nehme mal an, dass du Ärger mit den Pfaden innerhalb der Exe hast, aber dass kann ich auf Grund der Screenshots nicht im Detail erkennen.
Also gut:
Zuerst: Die Funktion "Current VI's Path" liefert innerhalb einer exe folgendes zurück:
.../Application.exe/name.vi (... deutet das Verzeichnis an, in dem die Application.exe liegt).
Hierzu gibt es massig Threads im Forum, z.B.:
http://www.LabVIEWforum.de/index.php?showtopic=4866
Dann noch etwas zu dynamisch eingebunden VI's: Innerhalb einer Exe gehen alle vorher vielleicht vorhandenen Dateipfade und Unterverzeichnisse verloren. Im Prinzip langt es ein innerhalb einer Exe dynamisch eingebundenes VI nur per Namen (ohne weiter Pfade) aufzurufen.
Dann noch zur Frage: Ein dynamisch eingebundenes VI linkst du auch als dynamisches VI hinzu, nicht als Support File. Support Files werden als einzelne Files abgelegt und sind nicht Teil der Exe.
Gruß, Jens
Vielen Dank schonmal,
ich werde jetzt einfach nochmal ein bisschen im Forum stöbern und hoffen dass ich den kleinen Fehler find.
Viele Grüße
' schrieb:Dann noch zur Frage: Ein dynamisch eingebundenes VI linkst du auch als dynamisches VI hinzu, nicht als Support File. Support Files werden als einzelne Files abgelegt und sind nicht Teil der Exe.
@Mr-Plow, probiere es mal einfach mit dem VI-Namen ohne irgendwelche Pfade vornedran.
' schrieb:@Mr-Plow, probiere es mal einfach mit dem VI-Namen ohne irgendwelche Pfade vornedran.
Hatte ich das nicht auch schon gesagt...?
' schrieb:...
Im Prinzip langt es ein innerhalb einer Exe dynamisch eingebundenes VI nur per Namen (ohne weiter Pfade) aufzurufen.
...
Naja, es ist es nochmal deutlicher.
' schrieb:Hatte ich das nicht auch schon gesagt...?
Naja, es ist es nochmal deutlicher.
Ja, sorry, hab's übersehen, aber ich habe dich auch was anderes gefragt:
Zitat:Dann noch zur Frage: Ein dynamisch eingebundenes VI linkst du auch als dynamisches VI hinzu, nicht als Support File. Support Files werden als einzelne Files abgelegt und sind nicht Teil der Exe.
Was meinst du damit? Wi kannst du ein VI als dynamisch dazulinken? Ich mache es in "Always Included" und App Builder unterscheidet dann selbst ob er die Datei in Support- oder Exe- Verzeichnis legt.
' schrieb:Ja, sorry, hab's übersehen, aber ich habe dich auch was anderes gefragt:
Was meinst du damit? Wi kannst du ein VI als dynamisch dazulinken? Ich mache es in "Always Included" und App Builder unterscheidet dann selbst ob er die Datei in Support- oder Exe- Verzeichnis legt.
Das war unter LV6 & 7 noch etwas anders. Da konntest du beim Hinzufügen von Files noch die Unterscheidung "dynamisch" und "Support File" machen.
Gruß, Jens
Hallo,
vielen Dank nochmal für die schnellen Tips.
Ich habe das Problem leider noch nicht lösen können. Da das Programm auch riesig ist(mehrere hundert VI's usw) fehlt mir manchmal auch ein bisschen der Überblick.
Das VI welches nicht gefunden wird, wird in einem Background-prozess als dynamisches VI aufgerufen.
Hatte dieses Bild in meinem Eröffnungsbeitrag noch nicht gezeigt. über diesen Prozess werden nacheinander immer 2 verschiedene VI's geladen. save_in_txt_din.vi und update_LB_din.vi (siehe Bild Pfad für VI Aufruf)
Da das 2te VI auch in der Applikation geladen wird, gehe ich davon aus dass dieses richtig implementiert ist. Einen Unterschied in den Pfaden konnte ich nicht feststellen.
Was mir aber komisch vorkommt ist, dass die anderen VI's wie es aussieht nicht als dynamische VI's im application-builder, sondern als support files geladen wurden...
Ich werde jetzt aber nochmal schauen ob ich es auch schaffe das VI nur über den Namen aufzurufen.
Gruß
Bastian
Endlich funktioniert es
Es lag nicht an den Pfaden, sondern ganz einfach an einem vergessenen VI.
Bin nur nicht darauf gekommen da die anderen VI's aus dieser llb schon eingebunden waren. Wir waren hier schon kurz davor das Projekt extern zu vergeben
Nochmal glück gehabt...
Ich muss mich als Neuling auch nochmals für die schnelle Hilfe bedanken. Dieses Forum hat mir doch sehr viel geholfen.Ich werde es in Zukunft auch weiter benutzen.
Viele Grüße
Bastian