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 denke der Betreff formuliert mein Problem ganz gut.
Mein SubVI, welches ich sehr oft im Projekt eingebunden hab, wurde jetzt nochmal angefasst. Es ist daher nötig ein "Relink to SubVI" durchzuführen. Ich finde bisher keine Möglichkeit das für viele auf einen Klick hinzubekommen. Ideen?
Du hast also ein VI, welches von anderen VIs aufgerufen wird geändert und abgespeichert. Wenn dem so ist, dann musst du gewöhnlich gar nichts machen. Du könntest höchstens LV zwingen, das Main mit allen SubVI neu zu kompilieren, indem du Shift drückst und gleichzeitig mit der Maus auf Ausführen klickst. Anders schauts aus, wenn du das geänderte VI als Kopie unter neuem Namen gespeichert hast. In solch einem Fall schließe ich den Projektmanager, lösche oder verschiebe die alte Datei und nenne die neue um.
Danke für die Antwort... ich hab jetzt gerade nochmal versucht das nachzustellen. Hab also einfach nen Ausgang hinzugefügt und er war automatisch da... "Relink to SubVI" ist ausgegraut.
Ich weiß aber, dass gestern das VI im Block Diagramm ausgegraut war und erst über "Relink to SubVI" wieder lief...
Naja, es geht ja jetzt. Wenns das nächste mal auftritt, versuch ichs zu verstehen und zu reproduzieren.
einfach einen Ausgang hinzufügen stört nicht, da wird das MainVI "nur" neukompiliert.
Anders schaut es aus, sobald du a) das ConnectorPane änderst oder b) einen vorher belegten Anschluss freigibst. Dann könnte LabVIEW zwar raten, wo welcher Draht ran soll - aber das überlässt man dann doch lieber dem Programmierer, in dem er ein Relink durchführen darf - und zwar für jede Instanz (es könnten ja unterschiedliche Drähte angeschlossen werden...)!
Mal ein Vergleich mit einer textbasierten Sprache:
Du defnierst eine Funktion mit drei (optionalen) Parametern f(a,b,c). Jetzt machst du daraus f(a,b,c,d) (wieder alle Parameter optional): dein Hauptprogramm muss neu kompiliert werden, aber es sollte weiterhin funktionieren. Jetzt machst aus f(a,b,c,d) aus irgendeinem Grund f(b,a,d) mit d als Pflichtparameter. Was soll der Kompiler nun machen? Du darfst also alle Funktionsaufrufe kontrollieren/korrigieren...
Das wirds sein! Ich erinnere mich, dass ich den einen Ausgang umbenannt hab. Ich verstehe, dass Labview da nicht einfach was verbindet, was nun anders heißt.
Und da isses ja auch gut so, dass ichs überall per Hand machen muss.
Naja, ein umbenannter angeschlossener Ausgang, der überall angeschlossen ist, wär schon schön per Ein-Klick-Befehl. Ich versteh aber auch die Argumente dagegen.