Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden
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!
RE: Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden
(28.03.2012 08:21 )KD schrieb: Wie ich gesehen habe, beziehst du dich über eine Referenz auf das SubVI.
Eine Referenz brauchst natürlich immer. In meinem Beispiel ist diese zur Veranschaulichung statisch. Man kann aber natürlich genauso dynamisch VIs per Referenz laden (zur Laufzeit des Mains).
(28.03.2012 08:21 )KD schrieb: Nur kleine Preisfrage: Wie kann ich das machen, wenn ich zB 100 SubVIs habe?
Und es muss flexibel gestaltet sein, also ich muss das main für 10,30,50 oder 150,.... SubVIS ausführen können.
Das macht as ganze wieder komplexer´, da ich im Code nichts ändern sollte.
- Statt einer Refeferenz, Array von Referenzen verwenden
- Zu Sicherheit: Vor dem Abbrechen das VI abfragen, ob es läuft
- Pfade lassen sich dynamisch zur Laufzeit erstellen
- VIs lassen sich dynmisch zur Laufzeit laden
Hier das Konzept zum Referenzarray:
Beste Grüße,
NWO
9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris.
NI schrieb:To use the abort button is like using a tree to stop a car!
RE: Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden
Hallo Leute,
ich versuche krampfhaft eine Lösung zu finden, doch ich bin leider schon so ausgebrannt, dass mir nichts mehr einfällt.
Das Problem ist, dass ich zB ein laufendes VI, das bereits ausgeführt wird, beenden möchte via Main VI.
Ich brauche den Aufbau aber so, dass er flexibel bleibt, also nicht nur für ein VI -> da weiß ich, dass ich Referenzen nehmen kann.
Nur wie geht das, dass ich übergreifend für alle VIs, ohne jetzt den Code im Main für jede einzelne SUBVI Datei zu ändern, ein VI beenden kann, das zB sich aufgehängt hat oder nicht mehr reagiert?
Wie könnte ich das lösen?
Danke für eure Hilfe.
Lg David
Ich will ja nichts sagen aber alles was ich bis jetzt gefunden habe, kann ich für meine Applikation nicht gebrauchen, da meine Applikation komplexer ist.
Sorry sonst hätte ich sicher schon eine Lösung parat.
RE: Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden
Hallo KD;
Zitat:ein VI beenden kann, das zB sich aufgehängt hat oder nicht mehr reagiert?
Du willst ein Programm, das nicht mehr reagiert, programmatisch aus dem subVI heraus reagieren lassen?
Henne-Ei-Problem?
Zitat:Ich will ja nichts sagen aber alles was ich bis jetzt gefunden habe, kann ich für meine Applikation nicht gebrauchen, da meine Applikation komplexer ist.
Die Komplexität ist mir bisher nicht aufgefallen...
RE: Wie kann ich übergreifend mit einem Main VI sämtliche Sub VI beenden
(28.03.2012 13:11 )KD schrieb: Ja es soll so sein, dass ich über das Main das Sub VI beende, sofern dieses nicht mehr reagiert
Geht nicht! Wie schon erwähnt wurde...Henne-Ei!
(28.03.2012 13:11 )KD schrieb: oder zu lange braucht um abgeschlossen zu sein.
Geht! Aber du musst in deinem bestehenden Code neuen einpflegen, um die Referenzen auf die SubVI's zu erfassen!
(28.03.2012 12:51 )KD schrieb: Nur wie geht das, dass ich übergreifend für alle VIs, ohne jetzt den Code im Main für jede einzelne SUBVI Datei zu ändern, ein VI beenden kann, das zB sich aufgehängt hat oder nicht mehr reagiert?
Rufst du die SubVIs so auf wie im von dir gezeigten Demo? Dann musst du doch nur an den Stellen, wo du den Pfad für das zu öffnende VI angibst, die Referenz an ein Array anhängen und dir irgendwie die Position im Array merken, damit du weißt, welche wann zu verwenden ist.
Aber ganz ohne neuen Code kanns nicht gehen...es sei denn, du kennst Bibi Blocksberg...Hexhex!
A.
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)