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 

SubVI mit grafisch aufwändiger Oberfläche



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!

22.07.2009, 16:30
Beitrag #1

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
SubVI mit grafisch aufwändiger Oberfläche
Hallo zusammen,

ich habe einige VIs, die ich sowohl als kleine eigenständige Anwendungen verwende aber genausogut auch mal als SubVI in größeren Applikationen einbinde.

Für die eigenständige Verwendung möchte ich nun gerne ein wenig mehr Aufwand in das GUI-Design stecken. Ich plane Windowstypische Oberflächengestaltungen mit Menüleiste, Symbolleiste und so weiter. Dazu gehört natürlich auch die passende Implementierung im Blockdiagramm.

Verwende ich nun dieses schöne VI als SubVI, benötige ich die GUI ja nicht sondern nur die Funktionalität (z.B. Kommunikation mit COM-Port). Wird die Übergeordnete Applikation trotzdem gebremst? Oder filtert der Compiler sowas raus?

Sonst würde ich eben wie in anderen Programmiersprachen auch, die reine Funktionalität in eigene kleine SubVIs packen und dann eben eine aufwendige GUI dazu bauen die diese Funktionalität verwendet. Stören tut mich daran nur, dass ich dann doch wieder zwei VIs habe für nur eine Aufgabe.

Ist das irgendwie verständlich?

Für Kommentare und Hinweise oder Alternativen und Hintergrundwissen bin ich wie immer sehr dankbar.

LG,
Torsten

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.07.2009, 16:44
Beitrag #2

gottfried Offline
LVF-Guru
*****


Beiträge: 1.735
Registriert seit: Mar 2007

2019
2004
EN

20**
Oesterreich
SubVI mit grafisch aufwändiger Oberfläche
Als EXE sind Gestaltungselemente (meines Wissens) entfernt wenn es als SubVI verwendet wird.

mein wöchentlicher (eigenwilliger) Beitrag zur Innovation
http://innovation1.wordpress.com/
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.07.2009, 08:00 (Dieser Beitrag wurde zuletzt bearbeitet: 23.07.2009 08:03 von rolfk.)
Beitrag #3

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
SubVI mit grafisch aufwändiger Oberfläche
gottfried hat recht, aber es wird noch besser! Solange ein SubVI sein Panel nicht offen hat wird das auch nicht gezeichnet so dass viele aufwendige UI Elemente auf einem solchen VI keinen oder minimalen Einfluss auf die Ausführungsgeschwindigkeit eines Programmes haben wenn es als SubVI verwendet wird.

Der gewisse Vorbehalt im vorigem Satz rührt daher, dass wenn Du zum Beispiel Property Nodes von Frontpanelelementen in Deinem SubVI hast vorher gesagtes nicht mehr ganz stimmt. Zudem verhindern Frontpanel Control Property Nodes in einem Diagram zuverlässig die Entfernung der Frontpanel Resource auch beim Bauen eines Executables.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.07.2009, 08:29
Beitrag #4

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
SubVI mit grafisch aufwändiger Oberfläche
Okay das sind schon mal interessante Punkte. Gibt es unter LabVIEW denn sowas wie PreCompiler Strukturen?

Ich kenne das aus C# beispielsweise.

Da sagt man dann dem PreCompiler:

DEFINE Debug

später im Code kann man dann einfach for einen bestimmten Block die Abfrage einbauen:

IFDEF Debug

und an der Stelle z.B. irgendwelche Debuginfos in der Konsole ausgeben.

sowas könnte man ja auch mit gewissen Strukturen in LabVIEW machen. Ich denke beispielsweise an eine Eventstruktur. Wenn ich im SubVI-Modus bin, brauche ich ja sinnigerweise nicht auf Userevents warten.

LG
Torsten

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.07.2009, 09:24
Beitrag #5

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
SubVI mit grafisch aufwändiger Oberfläche
Also da gibts die Conditional Structure die das in etwa macht. Ist leider ziemlich statisch auf defines in den Project Settings festgelegt. Eine andere Variante ist einfach eine Case Struktur zu verwenden die Du etwa an eine Applikationsglobal oder eine Property Node anschliesst die Dir die Information zurückgibt ob es ein Executable ist.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.07.2009, 09:41 (Dieser Beitrag wurde zuletzt bearbeitet: 23.07.2009 09:45 von jg.)
Beitrag #6

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
SubVI mit grafisch aufwändiger Oberfläche
Ich werde dran arbeiten, testen, probieren, lernen und meinen Horizont erweitern!

Vielen Dank,
Torsten

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.07.2009, 09:48
Beitrag #7

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
SubVI mit grafisch aufwändiger Oberfläche
Hallo,

wenn das "SubVI" ein GUI mit Menü und Event-Struktur hat, dann lässt es sich doch nicht so einfach als SubVI in einem anderen Programm/VI mit eigenem GUI einsetzen, es sei denn es wird beim Start geöffnet und am Ende wieder geschlossen. In diesem Fall ist die Frage nach dem Resourcen-Bedarf obsolet.

Ich denke, wenn das SubVI als eigenständige Applikation etwas "her machen soll", kommt man um die Entwicklung zweier GUIs nicht herum, damit das SubVI in der anderen großen Applikation ohne eigenes Front-Panel laufen kann.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.07.2009, 09:54
Beitrag #8

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
SubVI mit grafisch aufwändiger Oberfläche
Hallo zusammen, ich habe mich nun dazu entschieden, GUI und Funktion zu trennen, wie es ja auch am stilsichersten ist. Ich habe also viele kleine VIs die nur arbeiten und nix darstellen. Und dann habe ich dazu noch eine GUI die eben die klienen Funktionen beinhaltet.

Vielen Dank für eure Anregungen!
Torsten

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
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
  Zugversuch - Oberfläche: Programmablauf? _Markus_ 1 2.572 19.11.2019 13:47
Letzter Beitrag: GerdW
  Oberfläche von SubVI in Main Programm einbinden sara2211 13 9.768 17.11.2016 08:41
Letzter Beitrag: sara2211
  Symbol-Editor startet mit anderer Oberfläche Hotte-BW 2 4.405 03.03.2016 16:46
Letzter Beitrag: Hotte-BW
  LabVIEW Oberfläche erstellen leobi 2 3.887 27.03.2015 08:52
Letzter Beitrag: GerdW
  Oberfläche mit Array und Formel grafisch ausgeben? flink 6 5.363 14.07.2014 08:56
Letzter Beitrag: jg
  SubVI Funktionen verwenden, ohne SubVI Frontpanel (AVT Kamera) Allyoucaneat 3 8.847 25.08.2011 15:18
Letzter Beitrag: GerdW

Gehe zu: