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 

Dieses Thema hat akzeptierte Lösungen:

Wie kann man Lokale Variablen sauber verpacken?



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!

04.03.2018, 12:02
Beitrag #11

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Wie kann man Lokale Variablen sauber verpacken?
(03.03.2018 09:07 )Lucki schrieb:  die Verwendung von Subpanels anstelle von Registerkarten
Registerkarten kann man wegen zweiter Gründe verwenden: Man hat innerhalb eines logischen Blocks mehr anzuzeigen (oder einzugeben), als auf eine Bildschirmseite passt. Dann ist es eben übersichtlicher, FP-Elemente auf auch mehrere Registerkarten zu verteilen. In solch einem Falle, wenn es sich um einen logischen Block handelt, hält sich der BD-Bedarf für die vielen FP-Elemente oft in überschaubaren Grenzen.
Der andere Fall ist: Es liegen mehrere unabhängige, logische Blöcke vor. Das heißt aber oft auch, dass die BD-Anteile zu den FP-Elementen von einander unabhängig sind. Folge ist, dass sich im BD dieses Haupt-VIs viel Code befindet, der unabhängig (also nicht Datenfluss-verbunden) ist. Und das sollte Anlass sein, die unabhängigen Codes in SubVIs auszulagern.

Die Frage ist nun: Wie bekomme ich das FP des SubVIs möglichst unauffällig auf den Bildschirm - eben mit SubPanels. Ein SubPanel kann man als virtuelles Fenster für die FP-Elemente des SubVIs innerhalb des MainVIs sehen.

Zitat:Auf jeden Fall hätte man mehr Ordnung im Haupt-VI.
... und einen wesentlich kleineren BD-Bedarf im HauptVI.

Zitat:Und das Besondere an SubPanels (gegenüber SubVIs) ist ja auch, dass die Ereignisbehandlung für die Bedienelemente weiterhin im Haupt-VI stattfinden kann.
Selbstverständlich kann man das so machen - das ist aber aufwändig und daher kontraproduktiv.

Streng genommen kennt das HauptVI den Inhalt des SubPanels nicht. Es kennt also auch die Ereignisse nicht, die den diversen FP-Elementen zugewiesen werden. Der Vorteil des SubPanels ist, dass zwar das FP des SubVIs im FP des MainVIs "erscheint" - aber das BD des SubVIs kann man komplett unabhängig vom MainVI gestalten. Das nämlich bedeutet, dass man das SubVI quasi standalone (also mit eigenständigem FP) debuggen kann - später dann aber sieht es aus wie zum MainVI gehörend.


Hinweis:
Selbstverständlich kann man BDs in SubVIs auslagern, ohne dass das SubVI an sich in einem SubPanel angezeigt wird. Das geht, wenn das SubVI an sich kein FP braucht (Paradigma: Trennung von FP und BD, also von Anzeige und Algorithmus). Dann muss man allerdings von der direkten Steuerung des SubVI-SW-Algorithmus (z.B. durch Benutzereingaben auf einem eigenen FP) umsteigen auf eine indirekte Steuerung der SubVI-SW z.B. per Queue. Die Anzeige der eigenen FP-Werte kann das SubVI dann z.B. per Melder machen, deren Inhalt an einem fremden FP angezeigt wird.

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
Anzeige
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Lokale Variablen eliminieren / Signale Zusammenfassen Philipp841 8 4.264 30.09.2019 09:51
Letzter Beitrag: Philipp841
  Lokale Variable galilio 5 4.083 09.02.2017 22:20
Letzter Beitrag: Trinitatis
  Schleifenkommunikation: Melder und Benutzer-Ereignisse oder lokale Variablen lumaxo 7 5.452 19.03.2015 17:49
Letzter Beitrag: lumaxo
Question Lokale Variablen wie in textbasierten Sprachen nutzen RobBoss 5 4.571 28.05.2014 11:59
Letzter Beitrag: Kiesch
  Lokale Variable in while-Schleife auslesen Io1610 6 6.657 26.05.2014 15:57
Letzter Beitrag: Io1610
  Asynchron aufgerufene VIs sauber beenden NBG 6 6.293 15.05.2014 11:40
Letzter Beitrag: GerdW

Gehe zu: