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 

Item eines Menu Ring selektieren



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!

28.02.2007, 15:45 (Dieser Beitrag wurde zuletzt bearbeitet: 28.02.2007 15:45 von monoceros84.)
Beitrag #1

monoceros84 Offline
LVF-Stammgast
***


Beiträge: 445
Registriert seit: Oct 2006

2011
2006
EN


Deutschland
Item eines Menu Ring selektieren
Hi...

Ich habe einen Menu-Ring, den ich zur Laufzeit des Programms über die Eigenschaft StringsAndValues[] mit Daten fülle. Nun soll aber immer der erste Eintrag des Rings standartmäßig vorselektiert werden. Statt dessen schreibt LabVIEW einen Wert <2> oder ähnliches rein. Dies ist ein ungültiger Wert und verursacht in meinem Programm nur unnötigen Ärger. Der einfachste Weg wäre also eine Selektion des ersten Eintrages. Wie kann ich das lösen?

Danke für eure Hilfe!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.02.2007, 16:01 (Dieser Beitrag wurde zuletzt bearbeitet: 28.02.2007 16:06 von VDB.)
Beitrag #2

VDB Offline
LVF-Stammgast
***


Beiträge: 426
Registriert seit: Oct 2005

2010-2011
1997
kA

52134
Deutschland
Item eines Menu Ring selektieren
So müsste es klappen:

   

VDB
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.02.2007, 16:21
Beitrag #3

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Item eines Menu Ring selektieren
Hallo,

lade doch bitte mal Dein VI hoch, ich würde es mir gerne mal anschauen. Dann kann ich evtl. auch helfen.
Mir kommt es nämlich komisch vor, dass LabVIEW <2> reinschreibt.

Gruß Markus

' schrieb:Hi...

Ich habe einen Menu-Ring, den ich zur Laufzeit des Programms über die Eigenschaft StringsAndValues[] mit Daten fülle. Nun soll aber immer der erste Eintrag des Rings standartmäßig vorselektiert werden. Statt dessen schreibt LabVIEW einen Wert <2> oder ähnliches rein. Dies ist ein ungültiger Wert und verursacht in meinem Programm nur unnötigen Ärger. Der einfachste Weg wäre also eine Selektion des ersten Eintrages. Wie kann ich das lösen?

Danke für eure Hilfe!

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.02.2007, 16:30 (Dieser Beitrag wurde zuletzt bearbeitet: 28.02.2007 16:33 von cb.)
Beitrag #4

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Item eines Menu Ring selektieren
' schrieb:Hi...

Ich habe einen Menu-Ring, den ich zur Laufzeit des Programms über die Eigenschaft StringsAndValues[] mit Daten fülle. Nun soll aber immer der erste Eintrag des Rings standartmäßig vorselektiert werden. Statt dessen schreibt LabVIEW einen Wert <2> oder ähnliches rein. Dies ist ein ungültiger Wert und verursacht in meinem Programm nur unnötigen Ärger. Der einfachste Weg wäre also eine Selektion des ersten Eintrages. Wie kann ich das lösen?

Danke für eure Hilfe!

Das Problem entsteht durch eine s.g. Race Condition, vermutlich hast du die Property-Node zum Befüllen der Strings parallel zu einer lokalen Variablen gelegt, die den ersten Wert auswählt. Am einfachsten umgeht man das so:

   

Zur Erklärung: die Property-Node und die lokale Variable können nicht exakt zur gleichen Zeit verarbeitet werden. Wenn die Property Node und die lokale Variable parallel liegen, wird mehr oder weniger zufällig das eine oder das andere zuerst ausgeführt. Wenn nun die lokale Variable als erstes ausgeführt wird und der Ring noch keine Elemente hat, wird der Standard-Wert für den ausgewählten Index angezeigt. In deinem Fall ist das <2> für das 3. Element.

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.02.2007, 16:37
Beitrag #5

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Item eines Menu Ring selektieren
@VDB: Was soll das mit dem "Scan" bringen? Es reicht doch, die Ring-Variable nach dem Schreiben einfach mit "0" zu beschreiben! Hab ich da evtl. die Frage missverstanden?

@Markus: Das mit dem <2> kommt vor, wenn irgendwie ein Eintrag nicht "sauber" definiert wurde, oder wenn aus "Reihenfolge-Gründen" irgendwas nicht passt...ich konnte das jetzt grade auch nicht reproduzieren, aber ich hatte das auch schon mal...ist aber immer ein Verständnisproblem/Benutzerfehler!

Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.02.2007, 16:43 (Dieser Beitrag wurde zuletzt bearbeitet: 28.02.2007 16:44 von VDB.)
Beitrag #6

VDB Offline
LVF-Stammgast
***


Beiträge: 426
Registriert seit: Oct 2005

2010-2011
1997
kA

52134
Deutschland
Item eines Menu Ring selektieren
' schrieb:@VDB: Was soll das mit dem "Scan" bringen? Es reicht doch, die Ring-Variable nach dem Schreiben einfach mit "0" zu beschreiben! Hab ich da evtl. die Frage missverstanden?

@Markus: Das mit dem <2> kommt vor, wenn irgendwie ein Eintrag nicht "sauber" definiert wurde, oder wenn aus "Reihenfolge-Gründen" irgendwas nicht passt...ich konnte das jetzt grade auch nicht reproduzieren, aber ich hatte das auch schon mal...ist aber immer ein Verständnisproblem/Benutzerfehler!

Gruss
Achim

Es ist eine universelle Lösung, falls man ein bestimmtes Item einstellen möchte.
Um nur das erste Element zu setzen reicht i2dx Lösung aus...

VDB
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.02.2007, 17:21
Beitrag #7

monoceros84 Offline
LVF-Stammgast
***


Beiträge: 445
Registriert seit: Oct 2006

2011
2006
EN


Deutschland
Item eines Menu Ring selektieren
Danke für die schnellen Antworten. Ich bin leider schon daheim, deswegen kann ich das VI jetzt nicht posten. Aber es ist nicht viel dazu - im Grunde entspricht es dem, was i2dx gepostet hat. Nur wird anstatt der String- die StringsAndValues-Eigenschaft benutzt. Und das Array wird dynamisch erzeugt. Hintergrund ist der:
Der Benutzer wählt irgendwann am Anfang eine beliebige Variation aus 6 zu testenden Modulen aus. Dabei ist es wichtig zu wissen, ob er z.B. Modul 1, 2, 3 und 4 - oder Modul 2, 4, und 6 testen will. Diese ausgewählten Module werden in einem Array gespeichert. Und dieses Array soll letztendlich in den Menu Ring, um die Auswahl der grafischen Anzeige der Testdaten zu ermöglichen. Dabei kommt dann je nach Auswahl des Benutzers die entsprechende Modulnummer aus dem Ring. Es kann also passieren, dass in dem Ring nur die Values 2, 4 und 6 vorkommen, jedoch keine 0 oder 1.
Deswegen geht das mit der Konstante 0 im Beispiel von i2dx nicht. Ich habe auch keine lokalen Variablen definiert - einfach das Array dem Proporty-Knot übergeben.
Was ich weiterhin schon probiert habe, ist ähnlich dem Beispiel von i2dx: Im gleichen Proporty-Knot die Value-Eigenschaft zu setzen. Allerdings nicht mit einer Konstante, sondern mit dem Value-Wert des ersten Array-Eintrages. Dabei wechselt LabVIEW aber nicht zum ersten Listeneintrag, sondern versucht, dem gerade angezeigtem Eintrag <2> (oder manchmal auch <0>, <1> usw.) diesen Value-Wert zuzuweisen. Das geht meistens schief, weil es dann halt doppelte Values in dem Ring gibt.
Was ich nochmal probieren werde ist dem Ring direkt ohne Proporty-Knot den Value-Wert zuzuweisen - wie in dem Beispiel von VDB. An so was simples hab ich gar nicht gedacht.

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.02.2007, 21:27 (Dieser Beitrag wurde zuletzt bearbeitet: 28.02.2007 21:28 von Achim.)
Beitrag #8

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Item eines Menu Ring selektieren
Ahem...jetzt hab ich's geblickt...du hast also sowas:

String[0] = A, Value [0]=3
String[1] = B, Value [1]=6
String[2] = C, Value [2]=11
String[3] = D, Value [3]=99

Klar, dann passiert bei "Run" das von dir beschriebene Verhalten, nämlich als String wird beim ersten mal <0> angezeigt...

Dann kannst du nur die Lösung von VDB nehmen, damit klappts garantiert!

Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.03.2007, 07:45
Beitrag #9

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Item eines Menu Ring selektieren
' schrieb:Statt dessen schreibt LabVIEW einen Wert <2> oder ähnliches rein. Dies ist ein ungültiger Wert und verursacht in meinem Programm nur unnötigen Ärger.
Bin mir nicht ganz sicher, aber wenn man in den Eigenschaften "undefinierte Werte zulassen" abhakt, dann dürfte das doch nicht mehr passieren...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.03.2007, 08:14
Beitrag #10

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Item eines Menu Ring selektieren
' schrieb:Bin mir nicht ganz sicher, aber wenn man in den Eigenschaften "undefinierte Werte zulassen" abhakt, dann dürfte das doch nicht mehr passieren...

doch, das kommt trozdem vor, weil man den Wert ja quasi *von intern aufdrängt*. Wenn der Haken bei "undefinierte Werte" gesetzt ist hat man noch den zusätzlichen Menüpunkt "andere" und kann einen anderen Wert eintragen, aber das will man ja bei einem Ring meistens gerade nicht ...

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen 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
  Ring Element: beim Ringtext Zeilenumbruch deaktivieren jan91 3 3.065 01.03.2024 11:52
Letzter Beitrag: jan91
  Mit ProjektItem Stelle im Projektexplorer selektieren achim @ FZK 0 2.105 19.04.2021 06:30
Letzter Beitrag: achim @ FZK
  Runtime Menü auslösen aus anderem VI GT123 4 2.817 11.09.2020 16:12
Letzter Beitrag: GT123
  Auswahlmenue von Ring mit externen Daten befüllen? 1johleh 8 8.977 11.07.2017 14:10
Letzter Beitrag: GerdW
  Schönheitsfehler Ring implizite Umwandlung LabViewer12 1 2.980 21.01.2017 17:12
Letzter Beitrag: GerdW
  Dynamisches Menü für eine Visualisierung Speedriff 0 3.001 09.09.2016 16:57
Letzter Beitrag: Speedriff

Gehe zu: