SubVIs öffnen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: SubVIs öffnen (/Thread-SubVIs-oeffnen) Seiten: 1 2 |
SubVIs öffnen - Schwand - 14.12.2009 09:58 Hallo allerseits, 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. SubVIs öffnen - Y-P - 14.12.2009 11:02 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 SubVIs öffnen - Y-P - 14.12.2009 11:26 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 SubVIs öffnen - Schwand - 14.12.2009 11:32 Solch ein Projekt anlegen geht mit LV 7.1 noch nicht, oder? Die Version habe ich (mal wieder) vergessen anzugeben, sry. SubVIs öffnen - Y-P - 14.12.2009 11:34 Nö. Das geht aber ab LabVIEW 8.0 und laut Deinem Profil hast Du 8.5.1. Gruß Markus SubVIs öffnen - Schwand - 14.12.2009 12:38 Ja, stimmt, nur leider keinen Application Builder für 8.5.1.... Gibt es für 7.1 vielleicht auch eine elegantere Lösung als einfach die VIs in das Event zu packen? Grüßle S. SubVIs öffnen - IchSelbst - 14.12.2009 12:54 ' 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. SubVIs öffnen - Y-P - 14.12.2009 12:54 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 SubVIs öffnen - RoLe - 14.12.2009 13:13 ' 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? SubVIs öffnen - Schwand - 14.12.2009 14:39 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. Grüßle S. |