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 auf ein Problem gestoßen, wo ich eine .exe Applikation zuerst beeenden möchte und die gleiche .exe wieder neue laden will. Ich habe es mit eine stockende Sequenz und Quit-LabVIEW versucht,funktioniert leider aber nicht,da ich mit Quit-LabVIEW alle laufende Lab-View Aplikationen abbreche.
Hat jeman eine Idee wie ich es lösen konnte ohne QUIT-LabVIEW zu benutzen?
Danke im Voraus für jede Hilfe!!!
Mit freudlichen Grüssen aus Dortmund
Nedzad
Anzeige
01.09.2008, 10:51 (Dieser Beitrag wurde zuletzt bearbeitet: 01.09.2008 10:53 von jg.)
1. Bei einer Exe beendet "Quit-LabVIEW" eigentlich nur die gerade aktuelle Instanz, also die gerade laufende Exe. Wenn du deine Exe aber schön brav deinitalisierst, also alle Schleifen und Prozesse beendest, genügt ein FP Close am Schluß, um eine LV-Exe zu beenden. Such mal im Forum, da gab es mal eine schöne lange und ausführliche Diskussion drüber. EDIT: Meine diesen Thread!
2. Um dieselbe Exe mehrfach zu starten (und so müsstest du es mit LV-Bordmitteln fast machen), s. hier.
3. Weitere Möglichkeiten (vor allem, wenn 2 Instanzen zwecks Hardware-Zugriffen o.ä. nicht möglich sind): Du erstellst ein Windows-Script oder eine Batch-Datei oder eine weitere LV-Exe, die folgende Schritte enthält: gewisse Zeit warten, dann gewünschte Exe aufrufen. Diese rufst du in deiner Exe von Punkt 1 auf, beendet sie, und dann sollte sie wieder neu starten.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Hallo Nedzad,
so wie ich das verstehe mußt du ein zweites Programm starten (kann auch in LabVIEW geschrieben sein) das dann deine Exe erneut startet. Dies kannst du am Ende deiner Exe machen.
' schrieb:Hallo Nedzad,
so wie ich das verstehe mußt du ein zweites Programm starten (kann auch in LabVIEW geschrieben sein) das dann deine Exe erneut startet. Dies kannst du am Ende deiner Exe machen.
Mike
Hallo,Mike
Problem ist dass ich mit QUIT-LabVIEW meine laufende .exe sofort beende ohne auf die nächste sequenz zu kommen, wo ich externe .exe wieder starten möchte.
Hallo Nedzad,
dann mach es wie vorher schon erwähnt. Beende dein Programm nicht mit QUIT sondern mache alles "Sauber" zu, dann kommst du auch zu der Stelle in deinem Code an der du weitere Sachen aufrufen kannst.
' schrieb:Problem ist dass ich mit QUIT-LabVIEW meine laufende .exe sofort beende ohne auf die nächste sequenz zu kommen, wo ich externe .exe wieder starten möchte.
Das ist ja auch vollkommen logisch! QUIT-LabVIEW ist der harte Abbruch, danach läuft natürlich nichts mehr!
leider ich habe kein Zugriff auf die .exe die ich beenden und gleichdanach wieder starten möchte.Diese .exe könnte ich bis jetzt nur mit der QUIT-LabVIEW beenden.Dein Vorschlag unter 3 verstehe ich nicht ganz.Meinst du vielleicht so was:
leider ich habe kein Zugriff auf die .exe die ich beenden und gleichdanach wieder starten möchte.Diese .exe könnte ich bis jetzt nur mit der QUIT-LabVIEW beenden.Dein Vorschlag unter 3 verstehe ich nicht ganz.Meinst du vielleicht so was:
Jetzt verstehe ich gar nichts mehr. Wieso hast du keinen Zugriff auf die Exe? Ich dachte, die programmierst und erstellst du selber? Was nützt dir sonst die QUIT-LabVIEW Routine?! Eine andere, laufende LabVIEW-EXE (also ein eigenständiges Progamm, nicht die LabVIEW-IDE) beendest du damit nicht.
Und zu deinem Bsp.: Ja, geht in die Richtung von Punkt 3.
Ich machs nochmal etwas ausführlicher:
Sagen wir mal, das Programm, dass du neu starten willst, heißt Test.exe.
Ich hab jetzt folgendes gedacht: In deiner Test.exe existiert eine Routine, die zum Ziel hat, die Test.exe neu zu starten. Diese Routine sollte folgende Schritte enthalten:
-Programm deinitialisieren.
-Eine exterene Restart.exe starten.
-Programm sauber beenden.
Die Restart.exe enthält die erwähnten Schritte:
-Etwas warten, um der Test.exe Zeit zu geben, sich sauber zu beenden.
-Dann Start der Test.exe.
-Beenden der Restart.exe
Diese 3 Schritte lassen sich sicher auch mit Windows-Batch-Datei ausführen anstelle hierfür eine LV-Exe zu erstellen.
Jetzt paletti?
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
ich möchte mich zuerst sehr bedanken für deine ausführiliche Antwort.Leider wie gesagt ich habe keine Zugriff auf die .exe die ich beenden und starten möchte.
Also diese .exe ist nicht von mir gestellt!Die kann ich zur Zeit nur über ein Button deinstallieren,oder mit QuitLABView in einem von mir geschriebenen VI beenden.Wenn ich es aber mit QuitLabVIEW mache, dann beende ich damit alle meine Laufende VIs,so dass die nächste Sequenz nicht augeführt werden kann.
Kurzgefasst: Ziel ist eine .exe, auf die keine Zugriff gibt, zu beenden und wieder zu starten ohne laufende VI zu beenden.
Es ist mir bekannt wie ich eine externe .exe mit dem Pfad eingabe starten kann, nur jetzt mochte ich die auch so beenden,am besten so gezielt,über pfad eingabe, wie beim starten.Das wäre ideal:-)