INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Schließen eines Dynamisch geladenen VIs



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!

06.11.2009, 08:30
Beitrag #1

Tim.P_50€ Offline
Ich hab keine Ahnung
*


Beiträge: 45
Registriert seit: Oct 2008

8.2, 8.5.1, 8.6,8.6.1,2009,2010,2011
2007
DE_EN

12305
Deutschland
Schließen eines Dynamisch geladenen VIs
Hallo,

ich habe ein kleines Problem wo ich nicht weiter komme!


Ich lade ein VI (Reentrant) Dynamisch in meinen Speicher und lasse dor laufen!
Jetzt will ich das Dynamisch geladenen VI von einem anderen VI wieder beenden! Jedoch finde ich momentan keine Möglichkeit mir die Referenz des Dynamischen VIs zu holen!

Hat jemand eine Idee wie ich mir die Referenz des Dynamischen VIs holen kann um es wieder zu schließen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.11.2009, 08:52
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Schließen eines Dynamisch geladenen VIs
' schrieb:Hat jemand eine Idee wie ich mir die Referenz des Dynamischen VIs holen kann um es wieder zu schließen?
Zwei applikationsabhängige Möglichkeiten fallen mir ein:
Entweder du merkst dir an der Stelle, an der du das VI dynamisch gestartet hat, die Referenz und veröffentlichst diese Referenz per Queue oder Melder (bei globaler Variablen drücken wir mal alle Augen zu). Oder du schickst an das VI per Queue eine Meldung, dass es sich beenden soll. Ich ziehe letzteres vor.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.11.2009, 10:36
Beitrag #3

Tim.P_50€ Offline
Ich hab keine Ahnung
*


Beiträge: 45
Registriert seit: Oct 2008

8.2, 8.5.1, 8.6,8.6.1,2009,2010,2011
2007
DE_EN

12305
Deutschland
Schließen eines Dynamisch geladenen VIs
Ja per Queue, FGV ect. ist das alles kein Problem! aber was ist wenn meine Main Applikation abschmiert und das VI im Speicher weiter läuft?

Da will ich mir ein extra VI bauen welches mir dieses dann Beendet ohne das ich einen Zwischenspeicher für die Referenz benutze!
Ich finde das VI auch im Speicher, nur schaffe ich es nicht mir eine VI Referenz darauf zu öffnen!

Dennoch danke für deine Antwort, hätte es besser beschreiben müssenBig Grin!

Gruß Tim
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.11.2009, 18:13
Beitrag #4

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Schließen eines Dynamisch geladenen VIs
' schrieb:Ja per Queue, FGV ect. ist das alles kein Problem! aber was ist wenn meine Main Applikation abschmiert und das VI im Speicher weiter läuft?
Ja, dann wird es weiterlaufen, aber das kann doch immer passieren, das Problem hat doch nichts damit zu tun, wie der Stop-Befehl übermittelt wird. Bei einem ausgereiften Programm dürfte das aber gar nicht passieren. Wenn doch, dann fällt mir nur ein Watchdog als Abhilfe ein: Das Haupt-VI übermittelt dem SubVI periodisch Lebenzeichen. Wenn die nicht mehr kommen, beendet sich das SubVI von selbst.
Bei frei laufenden SubVIs erfolgt der Datenaustausch mit den Haupt-VI ohnehin in der Regel über Melder/Queues. Man braucht dann, um das SubVI zu stoppen, keine beondere Botschaft zu senden.
Siehe das Beipiel, wobei man sich die beiden Schleifen als Haupt-und Subvi vorstellen muß. Das Zerstören der Queue im Haupt-VI ergib eine Fehlermeldung im SubVI, mit der man das SubVI beendet. Das könnte vielleicht sogar beim Absturz des Haup-VI nocht funktionieren.
[attachment=50469:queue.png]


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.11.2009, 20:21
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Schließen eines Dynamisch geladenen VIs
So geht es tatsächlich. Keine Referenz? Einfach den Namen, dessen VI du ja bereits im Speicher gefunden hast, an "VI-Referenz öffnen".

Hinweis:
Dieses Muster geht bisher lediglich dann, wenn die VIs bereits im Speicher sind. Das wird durch das Positionieren in den Deaktivierungsrahmen realisiert. Ziel ist es auch nur, das VI zu beenden. Aus dem Speicher entfernt werden muss es ja nicht - wenn ich alles richtig verstanden habe.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.11.2009, 20:46
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Schließen eines Dynamisch geladenen VIs
http://forums.ni.com/ni/board/message?boar...uireLogin=False
http://zone.ni.com/reference/en-XX/help/37...n_vi_reference/

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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.11.2009, 22:08 (Dieser Beitrag wurde zuletzt bearbeitet: 07.11.2009 09:02 von Lucki.)
Beitrag #7

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Schließen eines Dynamisch geladenen VIs
Man kann ja über die VI-Referenz sogar jedes auf dem Frontpanal befindliche Bedienelement zugreifen. Dazu ist es nicht einmal notwendig, daß das auf dem Frontpanel einen Anschluß besitzt. Man kann also vom Haupt-VI aus über die SUB-VI Referenz einfach die Stoptaste drücken.
Ebenso kann man natürlich beim Aufruf des Sub-VIs ebenfalls Werte an die FP-Bedienelemente übergeben.
Beispiel Aufruf und Beenden eines VI "VisaDAQ6.vi" (Beim Aufruf werden die Werte "Schnittstelle" und "Takt" übergeben. Der eigentliche Datenaustausch während der Laufzeit erfolgt dann über Queues)
[attachment=50474:aufrufen.png]
[attachment=50475:Beenden.png]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.11.2009, 22:48 (Dieser Beitrag wurde zuletzt bearbeitet: 06.11.2009 22:49 von IchSelbst.)
Beitrag #8

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Schließen eines Dynamisch geladenen VIs
' schrieb:So geht es tatsächlich. Keine Referenz? Einfach den Namen, dessen VI du ja bereits im Speicher gefunden hast, an "VI-Referenz öffnen".

Hinweis:
Dieses Muster geht bisher lediglich dann, wenn die VIs bereits im Speicher sind. Das wird durch das Positionieren in den Deaktivierungsrahmen realisiert. Ziel ist es auch nur, das VI zu beenden. Aus dem Speicher entfernt werden muss es ja nicht - wenn ich alles richtig verstanden habe.
Welches Muster? Wo issen des Bild?

Nachtrag:
Ach, hier.


Angehängte Datei(en) Thumbnail(s)
   

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
Sad Texthintergrund von Elementen eines Arrays dynamisch ändern hajos118 3 4.574 04.05.2017 10:37
Letzter Beitrag: GerdW
  XML dynamisch parsen? C.Maier 3 4.274 11.10.2016 10:30
Letzter Beitrag: C.Maier
  3 Arrays dynamisch verändern hubem14 7 4.948 13.09.2016 11:45
Letzter Beitrag: GerdW
  Vi schließen Pansonia 6 5.657 24.03.2015 10:13
Letzter Beitrag: GerdW
  Debugging - Panel schließen ohne es zu schließen NoWay 5 5.100 11.11.2014 15:07
Letzter Beitrag: Lucki
  Dynamisch Anzeigeelemente erstellen bnymn 1 2.643 29.10.2014 16:21
Letzter Beitrag: Trinitatis

Gehe zu: