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 

[gelöst]prüfen ob ein Variant ursprünglich das Cluster x war



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!

13.07.2009, 12:03
Beitrag #1

achim @ FZK Offline
CLD
**


Beiträge: 117
Registriert seit: Nov 2008

201x
2005
DE_EN

76861
Deutschland
[gelöst]prüfen ob ein Variant ursprünglich das Cluster x war
Wie kann ich prüfen ob ein Variant (ursprünglich ein Cluster), welchen ich aus der globalen Variablen ausgelesen habe vom gleichen Typ ist wie ein ein anderes Cluster?
Im speziellen hab ich ein benutzerdefiniertes Bedienelement (*.clt) und will wissen ob das was ich da ausgelesen hab eine Abbildung der gleichen Typs ist.
Die Variable welche ich auslesen ist auf jeden Fall eine strikte Typdefninition. Nur will ich prüfen ob es diese ist...

(schwer zu beschreiben, einfach mal Bildchen angucken dann sollte es klar sein...)

Viele Grüße,
Achim


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
13.07.2009, 19:22
Beitrag #2

rasta Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 245
Registriert seit: Oct 2006

LabVIEW 2009-2017
2006
EN

53909
Deutschland
[gelöst]prüfen ob ein Variant ursprünglich das Cluster x war
Hallo Achim,
schau mal hier:
http://www.LabVIEWforum.de/index.php?showtopic=11471

MacMarvin´s Post könnt für Dich das richtige sein.

Gruß
Ralf
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.07.2009, 19:43
Beitrag #3

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
[gelöst]prüfen ob ein Variant ursprünglich das Cluster x war
Du kannst deine Variant Daten einfach mal versuchen in den gegebenen Datentyp umzuwandeln und falls du einen Fehler bekommst, dann war es wohl ein anderer Datentyp.

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.07.2009, 06:56
Beitrag #4

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
[gelöst]prüfen ob ein Variant ursprünglich das Cluster x war
' schrieb:Du kannst deine Variant Daten einfach mal versuchen in den gegebenen Datentyp umzuwandeln...
Umsetzung:    
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.07.2009, 07:45
Beitrag #5

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
[gelöst]prüfen ob ein Variant ursprünglich das Cluster x war
noch ein Tip am Rande: falls man das in seinem Code öfter macht , und ggf. auch mit unterschiedlichen Datentypen die als Variant "verschickt" werden, dann ist es auf jeden Fall empfehlenswert den/die Cluster als Typedef abzuspeichern, sonst sucht man sich hinterher tot, wenn man einen Datentyp ändern muss ...

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
14.07.2009, 10:49
Beitrag #6

achim @ FZK Offline
CLD
**


Beiträge: 117
Registriert seit: Nov 2008

201x
2005
DE_EN

76861
Deutschland
[gelöst]prüfen ob ein Variant ursprünglich das Cluster x war
' schrieb:noch ein Tip am Rande: falls man das in seinem Code öfter macht , und ggf. auch mit unterschiedlichen Datentypen die als Variant "verschickt" werden, dann ist es auf jeden Fall empfehlenswert den/die Cluster als Typedef abzuspeichern, sonst sucht man sich hinterher tot, wenn man einen Datentyp ändern muss ...
Das hab ich mir auch gedacht, darum hab ich mir alle Cluster als strict-Typ-def gespeichert. Mein Problem ist aber nun, wie ich vom VI-Pfad des *.clt wieder zu einem Cluster komme welches ich wie es Lucki vorschlägt konvertieren kann...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.07.2009, 15:39
Beitrag #7

schrotti Offline
LVF-Freak
****


Beiträge: 842
Registriert seit: Feb 2008

2009 - 2011
2006
kA

70180
Deutschland
[gelöst]prüfen ob ein Variant ursprünglich das Cluster x war
Auch hier könnten dir die Variantfunktionen von OpenG helfen. Siehe http://wiki.openg.org/Main_Page

Gruß Julius
Empfehlungen: expressionflow, LavaG , mooregoodideas, OpenG, JKI Blog
Tipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2009, 07:00
Beitrag #8

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
[gelöst]prüfen ob ein Variant ursprünglich das Cluster x war
' schrieb:Das hab ich mir auch gedacht, darum hab ich mir alle Cluster als strict-Typ-def gespeichert. Mein Problem ist aber nun, wie ich vom VI-Pfad des *.clt wieder zu einem Cluster komme welches ich wie es Lucki vorschlägt konvertieren kann...

ein strict typedef ist in dem Fall fehl am Platz, da es gegenüber einem "normalen" Typedef nur noch bewirkt dass alle Controls auf dem Frontpanel genau gleich aussehen. Das schadet zwar auch nicht, aber unter Umständen kann man sich damit Coercion Dots einfangen die man nicht mehr wegbekommt. Die sind dann zwar auch nicht "böse", aber nervig ist es troztdem und wenn man sich den z.B. in einer Schleife einfängt bedeutet es, dass man zusätzlich noch eine Typumwandlung für jedes Element durchführt, obwohl man das eigentlich gar nicht will.

Du kannst jeden Variant, der Daten transportiert wieder in seinen Ausgangs-Typ zurückwandeln, in dem du bei der "Variant to Data" Primitive den entsprechenden Datentyp anklemmst. Wenn du aus programmtechnischen Gründen nicht weißt was du am anderen Ende reingeschoben hast, weil du das ganze z.B. in einer queued State-Machine verwendest, dann verschick nicht den Variant alleine, sondern einen Cluster aus Variant und einem Enum, dass dir sagt welcher Datentyp denn nun zum Umwandeln ankommt, dann kannst das in einer Case-Struktur wieder aufdröseln. Man bewegt sich dann zwar auch etwas vom Datenfluss-Modell weg, funktioniert in der Praxis aber ganz gut

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
15.07.2009, 14:33
Beitrag #9

achim @ FZK Offline
CLD
**


Beiträge: 117
Registriert seit: Nov 2008

201x
2005
DE_EN

76861
Deutschland
[gelöst]prüfen ob ein Variant ursprünglich das Cluster x war
OpenG hat mit hier geholfen...
Danke nochmals für den Tipp.

Problem gelöst.

Gruß Achim
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Elemente Cluster in Cluster ansprechen simcum 3 3.922 02.10.2023 10:49
Letzter Beitrag: th13
  Wert des Variant ermitteln LV-New 8 5.600 23.02.2022 09:09
Letzter Beitrag: LV-New
  Variant in Grundtypen zerlegen LV-New 6 4.584 10.01.2022 10:55
Letzter Beitrag: LV-New
  Fehlermeldung 91 bei 2D Array umwandeln zu Variant und wieder zurück Tobzn 4 4.969 31.03.2018 21:05
Letzter Beitrag: Tobzn
  Array auf Doppelwerte prüfen und bestimmte dabei ignorieren sara2211 4 4.926 14.01.2017 13:13
Letzter Beitrag: sara2211
  Element in Cluster of Array of Cluster ausblenden R.Fuertig 4 7.343 26.09.2016 07:47
Letzter Beitrag: GerdW

Gehe zu: