Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
ich habe ein Problem mit meinem Hauptprogramm (s. Anhang, ist jedoch nur ein Beispiel). Speziell macht mir der zweite Fall "OK Button 3" Schwierigkeiten. Wenn ich das Programm "Hauptbeispiel" als Bibliothek abspeichere, um daraus eine .exe machen zu können, speichert er mir stets nur die Programme ab, die direkt im "Hauptbeispiel" vorhanden sind, also:
Hauptbeispiel.vi
Beispiel.vi
OpenVI_71.vi
Solange man die Ordnerstruktur dann beibehält, wird ja Beispiel2.vi auch weiterhin geöffnet. In meinem richtigen Programm habe ich aber das Problem, dass die SubVIs, die in Beispiel2.vi sind, nicht mitgeladen werden. Müsste ich das aufgerufene VI noch irgendwie anders abspeichern, damit diese SubVIs gefunden werden?
Ich könnte es ja grundsätzlich auch so machen, wie in Hauptbeispiel (1. Event), dass ich das VI direkt in dem Event öffne, dann wird es ja in der llb auch mitgespeichert (mit SubVIs) aber ist das nicht eher "schlechter" Stil?
Ich hoffe, mein Problem ist verständlich.
Grüßle
S.
Anzeige
14.12.2009, 11:02 (Dieser Beitrag wurde zuletzt bearbeitet: 14.12.2009 11:04 von Y-P.)
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
SubVIs öffnen
Leg' doch ein Projekt an, binde die VIs ein und erstelle Deine EXE direkt aus dem Projektmanager. Da kannst Du Dein hierarchisch höchstes VI angeben und alle anderen VIs werden mit eingebunden (außer die, die dynamisch, z.B. mit Call by Reference Node, aufgerufen werden).
Da musst Du nicht erst eine llb,.... erstellen.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
SubVIs öffnen
Hab mir Dein Bsp. angeschaut. "Beispiel2.vi" müsstest Du im Application Builder bei "Source Files" -> "Always included" einbinden, dann sollte es klappen.
Dein HauptVI darfst Du bei "Startup VI" natürlich nicht vergessen.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
SubVIs öffnen
Nö. Das geht aber ab LabVIEW 8.0 und laut Deinem Profil hast Du 8.5.1.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
' schrieb:Speziell macht mir der zweite Fall "OK Button 3" Schwierigkeiten. Wenn ich das Programm "Hauptbeispiel" als Bibliothek abspeichere, um daraus eine .exe machen zu können, speichert er mir stets nur die Programme ab, die direkt im "Hauptbeispiel" vorhanden sind, also:
Also: Das fehlende SubVI in den True-Case einer Case-Sequenz plazieren, deren Eingang auf false steht.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
SubVIs öffnen
Klappt's mit dem Beispiel2.vi, wenn Du es in einem Initialisierungscase wie das Beispiel1.vi aufrufst, damit es schon mal im Speicher ist und in die EXE gepackt wird? Ansonsten weiß ich nicht, wie man das früher gemacht hat.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
' schrieb:Wenn ich das Programm "Hauptbeispiel" als Bibliothek abspeichere, um daraus eine .exe machen zu können, speichert er mir stets nur die Programme ab, die direkt im "Hauptbeispiel" vorhanden sind, also:
Warum machst du den eine Bibliothek?
Du kannst ein BuildSkript erstellen und deine Dynamisch Aufgerufenen VI's dort bei AddDynamic VI hinzufügen.
Dann sind alle VI's in der EXE.
Oder möchtest du das Beispiel2.vi nicht in der EXE haben?
.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Ich kann das VI, wie Beispiel 1 auch, ja einfach direkt in dem Event aufrufen lassen. Dann wird das ja auch mit abgespeichert. Ich dachte nur, mit dem dynamischen (?) Aufruf wäre es die bessere Variante.
In meinem "richtigen" Programm funktioniert das dynamisch aufgerufene VI ja auch, nur die darin enthaltenen SubVIs von NI (namentlich Open/Create/Replace File.vi und Read Characters From File.vi) werden dann nicht mitgeladen...vielleicht liegt ja auch bei denen der Fehler.