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 

Events in anderen VIs aufrufen



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!

18.07.2007, 16:20 (Dieser Beitrag wurde zuletzt bearbeitet: 18.07.2007 16:25 von Lucki.)
Beitrag #2

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Events in anderen VIs aufrufen
Deine Konzeption finde ich gut, die gesamte Bedienung in ein gesondertes VI zu packen, und gut ist auch die Ereignissteuerung in diesem VI. Ich nenne das mal "Server-VI", Das andere wäre dann das ist "Client-VI"
Deine eigentliche Frage kann ich Dir mangels Wissen nicht beantworten, ich kann Dir nur sagen, wie ich von da ab weiter vorgehen würde - ohne Gewähr, daß es optimal ist.

Im Falle eines Ereignisses im Server-VI ist dreierlei an das Client-VI zu übermitteln:
a) die Tatsache, daß überhaupt ein Ereignis stattgefunden hat
b) Welches Bedienelement betätigt wurde
c) Der neue Wert des Elements

Ich würde den Austausch mit Melden vornehmen (eg wird an diese Stelle sofort dazwischenrufen "Nein, Queue benutzen wegen Datenverlust")

zu a) Der Melder wartet auf der Empfangsseite normalerweise, bis neue Daten ankommen. Das würde den Ablauf des VI blockieren. Entweder sollte Timeout=0 sein und man macht Polling, oder man generiert ein dynamisches Ereignis bei Eintreffen von Daten (Dynamisch gezwungenermaßen, weil die normalen Ereignisse immer Bedienereignisse sind, was hier nicht der Fall ist)

Zu b) und c) Der Melder kann natürlich die Informationen gleich enthalten, also Beschriftung und Wert. Das Ganze wird etwas kompliziert, wenn es sich um ganz verschiedene Bedienelemente-Typen handelt, aber es ist machbar, z.B über die Konvertierung in Variant. (oder einfacher: gesonderte Melder für jeden Datentyp verwenden) Aber prinzipiell wären da auch andere "Vertriebswege" denkbar, notfalls sogar mit globalen Variablen oder mit funktionalen Globalen Variablen. Mit Referenzen geht es meines Erachtens nicht.

Das Einfachste wäre natürlich, wenn man bei jedem Ereignis über den Melder einen ganzen Cluster mit allen Werten an das Client-VI übergibt, auf dem sich der gleiche Cluster mit den "Schattenwerten" des Server-VIs befindet.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Events in anderen VIs aufrufen - Lucki - 18.07.2007 16:20
Events in anderen VIs aufrufen - Y-P - 18.07.2007, 18:59
Events in anderen VIs aufrufen - rolfk - 19.07.2007, 09:52
Events in anderen VIs aufrufen - Lucki - 19.07.2007, 14:05
Events in anderen VIs aufrufen - eg - 25.07.2007, 13:49

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Frage zur Architektur: Statemachine und Wait for Events tuhpon 6 4.496 18.03.2024 16:14
Letzter Beitrag: tuhpon
  Bedienelemente bündeln zum Auslösen eines Events Marcusius 12 9.306 03.09.2019 17:24
Letzter Beitrag: Marcusius
  Mausrad bei Events/Casestrukturen Schwand 1 3.822 20.09.2016 08:30
Letzter Beitrag: Schwand
  Dynamische Events programmatisch auslösen AMueller 6 7.043 22.04.2016 07:43
Letzter Beitrag: GerdW
  LV-Exe in anderen LV Quellcode einfügen Tobi Wan Kenobi 1 3.044 29.06.2015 08:57
Letzter Beitrag: BNT
  Eventstruktur mit 2 Events Großer_Stein 3 4.212 11.06.2015 10:11
Letzter Beitrag: Großer_Stein

Gehe zu: