![]() |
Event löst in VI im Subpanel nicht aus :-( - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Event löst in VI im Subpanel nicht aus :-( (/Thread-Event-loest-in-VI-im-Subpanel-nicht-aus) |
RE: Event löst in VI im Subpanel nicht aus :-( - ash - 07.07.2013 19:22 Interessanterweiser führt die Einstellung "mit gemeinsamer Kopie" beim SubVI bei mir sogar zu insgesamt 5 SubVI Instanzen bei nur einer MainVI am laufen..also in dem Fall noch mehr Speicherlast als mit "vorbelegter Kopie".. Aber ansonsten schön mal drüber gesprochen zu haben.. ![]() [attachment=45298] RE: Event löst in VI im Subpanel nicht aus :-( - ash - 10.07.2013 16:40 Und hallo schon wieder! ![]() Ich würde nun gerne dass auch Events im SubVI Events im MainVI auslösen, bekomme es aber leider nicht richtig hin die Event Referenz vom Sub ins MainVI zu geben. Hier mal mein Versuch der leider so nicht funktioniert: RE: Event löst in VI im Subpanel nicht aus :-( - eb - 10.07.2013 17:39 Hallo zusammen, hab den Anfang der Diskussion nicht komplett mitbekommen, aber die VIs vom Vorpost habe ich mir mal angeschaut. Ich habe das nun mal mit VI-Server gemacht und setze per InvokeNode die ControlVals, statt das VI mit CallByRef zu rufen. [attachment=45350] [attachment=45349] RE: Event löst in VI im Subpanel nicht aus :-( - ash - 10.07.2013 17:52 Prima danke, also kann man wie ich sehe auch Event-Referenzen mittels InvokeNode übergeben. Sehr wichtig scheint dabei jedoch die richtige Reihenfolge im Fluss zu sein. RE: Event löst in VI im Subpanel nicht aus :-( - Holy - 10.07.2013 19:10 Das funktioniert so prinzipiell aber es gibt da immer folgende Punkte zu beachten:
Im Allgemeinen würde ich das daher vermeiden und nur für Sachen verwenden wo es keine vergleichbar einfache Lösung gibt. RE: Event löst in VI im Subpanel nicht aus :-( - ash - 10.07.2013 21:14 Okay das stimmt, dann werde ich versuchen weitestgehend ohne diese InvokeNodes / Set Control Knoten auszukommen und eher auf Notifier/Queues und gegebenfalls Events setzen. ![]() Ich hatte schon versucht komplexe Daten mit diesen InvokeNodes zu übertragen aber immer wieder Probleme gehabt sie ohne Laufzeitfehler an der richtigen Stelle einzusetzen..da verliert man schnell den Überblick über den Datenfluss.. RE: Event löst in VI im Subpanel nicht aus :-( - ash - 12.07.2013 14:59 Weiter gehts.. ![]() Ich habe zur Zeit eine MainVI mit zwei SubVIs in SubPanels, da mein Programm objektorientiert sein soll möchte ich die Daten welche zwischen den SubVIs kommuniziert werden gerne als Klassendaten speichern, scheitere aber daran beiden SubVIs das selbe Objekt zur Initialisierung zu übergeben, bei Abzweigung entsteht ja wieder eine neue Objektkopie. Wie ist es überhaupt möglich parallel laufende VIs mit dem selbem Objekt arbeiten zu lassen? RE: Event löst in VI im Subpanel nicht aus :-( - Holy - 13.07.2013 04:49 Das Datenflussprinzip lässt sich auch durch Klassen nicht aufweichen. Wenn du Daten hin- und herschicken möchtest benötigst du immer einen entsprechenden Transportmechanismus. Typischerweise Benachrichtungen oder Queues. Die Referenz zu diesen kannst du dann natürlich in ein Klassenobjekt legen und dieses teilen und schon kennt jedes deiner SubVIs den Transportmechanismus. Die Liste der Transportmechanismen ist natürlich noch sehr viel länger... Wenn du eine Objektkopie verhindern willst könntest du mit einer DVR-Klasse arbeiten und somit eine Referenz auf ein Klassenobjekt erhalten. Ich denke aber das ist eigentlich garnicht das was du brauchst sondern du benötigst nur einen Mechanismus zum Datenaustausch. RE: Event löst in VI im Subpanel nicht aus :-( - ash - 22.07.2013 12:06 Okay, alles klar. Danke! ![]() |