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!
Gleichzeitig aber auch nicht! Wenn das QUIT verwendet wird, werden die Schleifen, die das jeweilige VI (MainVI und NebenVIs) "treiben", ja mehr oder weniger gewaltsam gekillt. Das finde ich ziemlich unsauber! Warum beendet ihr eure VIs nicht mit dem "Conditional Terminal"?
die Quit LabVIEW Primitive ist (bei mir) die letzte Funktion überhaupt, die im Haupt-VI aufgerufen wird. vorher wurde schon alles "sauber" deinitialisiert, etc - da läuft definitiv nix mehr in der ganzen VI Hierarchie, wenn diese Funktion dran kommt - und dient eigentlich nur dazu der LV Runtime Engine den Befehl zu geben "so, jung, wir sind feddich hier, kannst abbaun!";)
ansonsten stimme ich dir zu: ein laufendes Programm mit "aktiven Schleifen", etc einfach so mit "quit LabVIEW" oder der "Stop"-Primitive zu beenden ist schon sehr sehr unsauber und brachial ...
' schrieb:Was gibt es da nicht? Ein ConditionalTerminal an der While-Schleife? Das ist doch nicht wahr...eine While-Schleife wird doch immer so beendet!
Hab ich falsch gelesen/verstanden, gibt es natürlich.
Dachte du meinst die "Conditional Disable Struktur" ..... :wall:sorry
.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
' schrieb:die Quit LabVIEW Primitive ist (bei mir) die letzte Funktion überhaupt, die im Haupt-VI aufgerufen wird. vorher wurde schon alles "sauber" deinitialisiert, etc - da läuft definitiv nix mehr in der ganzen VI Hierarchie, wenn diese Funktion dran kommt - und dient eigentlich nur dazu der LV Runtime Engine den Befehl zu geben "so, jung, wir sind feddich hier, kannst abbaun!";)
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
vielen Dank für die Antworen, aber jetzt noch mal zu dem Thema um das es ging.
Es handelt sich um ein "stand alone" Installationsprogramm bei dem alle Schleifen beendet, alle Referenzen geschlossen, und alle SubVIs beendet sind.
Am Ende nach der Haupt-While-Schleife (wenn auch diese beendet ist) kommt das "LabVIEW beenden".
Das ist das einzige LabVIEW-Programm das auf dem Zielrechner läuft und nach beenden soll auch die Runtime beendet sein.
Das läuft auf dem Entwicklungsrechner aber auf dem Zielrechner kommt beim Beenden die Fehlermeldung.
In einem Link von eg habe ich gelesen das beim das OS Probleme machen kann, wenn Quit LabVIEW zu lange braucht, und das OS sagt LabVIEW reagiert nicht.
Ich bin am probieren, wenn was geht werde ich es hier schreiben.
vielen Dank für die Antworen, aber jetzt noch mal zu dem Thema um das es ging.
Es handelt sich um ein "stand alone" Installationsprogramm bei dem alle Schleifen beendet, alle Referenzen geschlossen, und alle SubVIs beendet sind.
Am Ende nach der Haupt-While-Schleife (wenn auch diese beendet ist) kommt das "LabVIEW beenden".
Das ist das einzige LabVIEW-Programm das auf dem Zielrechner läuft und nach beenden soll auch die Runtime beendet sein.
Das läuft auf dem Entwicklungsrechner aber auf dem Zielrechner kommt beim Beenden die Fehlermeldung.
In einem Link von eg habe ich gelesen das beim das OS Probleme machen kann, wenn Quit LabVIEW zu lange braucht, und das OS sagt LabVIEW reagiert nicht.
Ich bin am probieren, wenn was geht werde ich es hier schreiben.
kpa
Du könntest ja mal zum testen das "LabVIEW beenden" entfernen und eine Exe erstellen und schauen ob der Fehler immer noch kommt.
.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
' schrieb:aber jetzt noch mal zu dem Thema um das es ging.
Ich bin hier kein Moderator. Ich muss nicht sagen, beleibt beim Thema.
Zitat:Ich bin am probieren, wenn was geht werde ich es hier schreiben.
Ich tippe mal auf folgendes:
Handle offen: Passiert, wenn z.B. VISA/TCPIP nicht geschlossen wird, wenn Queues/Melder/Benutzerereignisse nicht geschlossen werden. Oder auch DaqMX-Tasks könnte ich mir vorstellen. - etc.
VI läuft noch: irgendwo häng ein VI z.B. in einer - zeitgesteuerte - While-Schleife. Warum, ist wieder was anderes.
Überschneidungen: Ein SubVI verwendet eine (z.B.) Queue, die bereits wegen des Beendens geschlossen wurde => Crash. Das könnte Rechnerabhängig sein.
etc.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).