' schrieb:Im Entwicklungssystem ist das kein Problem da die VIs physisch auf der Disk sind von wo sie auch per Pfad geladen werden. In einem Executable gings aber nur wenn statt einem Pfad nur der VI Name als String angegeben wurde, da 8.5 sich weigert VIs von anderswo auf der Disk (hier innerhalb der LLB im EXE) zu laden dann was der Pfad angibt.
es kann auch vorkommen, das LV in der Entwicklungsumgebung deswegen rummeckert: ich hab aktuell gerade wieder ein Projekt, dass ich das letzte mal mit LV 8.2.1 angefasst habe auf LV 8.5.1 hochgezogen. Dabei habe ich die Ordner-Struktur im Project-Explorer neu aufgebaut und unter anderem "auto-populating-Folders" verwendet. Beim Deploy auf das RT Ziel meckert LV rum, dass es VIs gäbe, die bereits von einer anderen Position geladen sind und fragt nach, ob ich die Konflikte lösen will ...
' schrieb:es kann auch vorkommen, das LV in der Entwicklungsumgebung deswegen rummeckert: ich hab aktuell gerade wieder ein Projekt, dass ich das letzte mal mit LV 8.2.1 angefasst habe auf LV 8.5.1 hochgezogen. Dabei habe ich die Ordner-Struktur im Project-Explorer neu aufgebaut und unter anderem "auto-populating-Folders" verwendet. Beim Deploy auf das RT Ziel meckert LV rum, dass es VIs gäbe, die bereits von einer anderen Position geladen sind und fragt nach, ob ich die Konflikte lösen will ...
Meine Bemerkung war nicht gemeint dass das Problem im Entwicklungssystem nicht auch passieren kann, sondern dass im Falle unseres LuaVIEW Toolkits dieses Problem auftrat sobald man eine damit gebaute Appliation als Executable distributieren wollte. Die im Hintergrund dynamisch geladenen Task VIs werden da ja schliesslich vom LuaVIEW Task Manager von einer spezifischen Stelle geladen. Wenn diese nicht übereinstimmt mit der wirklichen Stelle, dann ist im Setup der Applikation etwas verkehrt und da kann LabVIEW natürlich nichts mehr machen.
Um die Distribution eines Executables zu vereinfachen werden aber diese dynamischen VIs eben als dynamic VI in das Executable Build mitgenommen. Vor LabVIEW 8.5 war es kein Problem das die entsprechenden Open VI Reference Nodes einen Path mitbekamen da LabVIEW die VIs innerhalb des Executables finden konnte und einfach lud. In LabVIEW 8.5 mussten alle diese Stellen gepatcht werden wobei im Entwickelsystem ein Open VI Reference mit Path input benützt wird und in einer built Application eines mit String input. Das Ganze konnte aber leider nicht mit einem SubVI ersetzt werden, da die Open VI References mit verschiedenen Strict Typedefed VI References arbeiteten. Und die undokumentierten XNodes dafür bemühen schien uns noch unangenehmer dann jede dieser Stellen individuel mit einer entsprechenden Code Sequence zu ersetzen.
Rolf Kalbermatter
hallo alle zusammen,
auf diesem bild sehen wir ein blau / türkies umrandetes blat mit dem vi-connektor als referenz
[attachment=40971:dynamisch.JPG]
ich benutze LV 6.1 und kann etwas derartiegen nicht in den funnktionen finden
wie kann ich dieses in meine "schaltung" einbauen?
' schrieb:hallo alle zusammen,
auf diesem bild sehen wir ein blau / türkies umrandetes blat mit dem vi-connektor als referenz
[attachment=40971:dynamisch.JPG]
ich benutze LV 6.1 und kann etwas derartiegen nicht in den funnktionen finden
wie kann ich dieses in meine "schaltung" einbauen?
Bild nochmal hochladen, bitte. Da ist was beim Upload schiefgegangen.
Gruß, Jens
' schrieb:Bild nochmal hochladen, bitte. Da ist was beim Upload schiefgegangen.
Gruß, Jens
nein, ist schon richtig so. das bild war vorher schonmal.
auf dem bild ist etwas zu sehen was ich nicht in den funktionen finden kann. (daher kann ich auch kein eigenes bild machen)
' schrieb:nein, ist schon richtig so. das bild war vorher schonmal.
auf dem bild ist etwas zu sehen was ich nicht in den funktionen finden kann. (daher kann ich auch kein eigenes bild machen)
Au Mann, und ich soll jetzt suchen, wo das Bild ist...
Das sind tolle Hinweise...
OK, hast Glück, dass es das Bild im ersten Beitrag des Threads ist. Aber dann füge das nächste Mal bitte einen Querverweis zu diesem Beitrag ein.
http://www.LabVIEWforum.de/index.php?s=&am...ost&p=54517
Oder lade das Bild selber herunter und nochmal hoch. Aber so ist das Mist.
Jetzt zur Frage, ich weiss nicht, ob es Call by Reference Node schon bei LV6.1 gab, aber ich denke schon. Such mal hier:
[
attachment=16014]
Gruß, Jens
"Call by reference node" platzieren, Rechtsklick auf "Reference"-Eingang, dann "Create"->"Constant". Auf die Konstante rechtsklicken, dann "Select VI Server Class" -> "Browse". Jetzt noch das VI auswählen,.... fertig.
Gruß Markus
' schrieb:hallo alle zusammen,
auf diesem bild sehen wir ein blau / türkies umrandetes blat mit dem vi-connektor als referenz
[attachment=40971:dynamisch.JPG]
ich benutze LV 6.1 und kann etwas derartiegen nicht in den funnktionen finden
wie kann ich dieses in meine "schaltung" einbauen?
Also der Link so wie Du ihn eingebaut hast funktioniert echt nicht. Aber nach Konsultation meiner Kristallkugel rate ich mal drauf los:
Statische VI Referenzen gab es erst ab LabVIEW 7.0. Ohne Upgrade bekommst Du sowas nicht.
Rolf Kalbermatter