LabVIEWForum.de - Typumwandlung (TabAuswahl --> Enum)

LabVIEWForum.de

Normale Version: Typumwandlung (TabAuswahl --> Enum)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Liebes LV-Forum,

ich habe eine Frage zu einer angewandten Art der Typumwandlung. Und zwar habe ich hier im Forum Hilfe bekommen, wie ich meine Menüpunkte im Frontpanel effizienter ansteuern könnte.

Dazu habe wird eine Registerkarte angelegt und ihre Ausgabe anschließend mit einer Typumwandlung mit einer Typdefinition geändert und an meine Queue übergeben. So weit ich das nun richtig verstanden habe kann ich mit einer Typdefinition meine States besser ansteuern.

Am Anfang hat auch alles gut geklappt und auch wenn ich ein paar Objekte dem Enum zugefügt habe, konnte ich einen Tag auswählen und dann wurde auch der richtige Inhalt übergeben.

Aber ich weiß jetzt nicht was ich groß geändert habe, aber es funktioniert nicht mehr. Um meinen Fehler zu finden, habe ich ein VI nur mit der Typumwandlung geschrieben und egal welche Auswahl ich treffe, es wird immer nur das erste Objekt übergeben. Warum?

Ich habe auf die Reihenfolge geachtet und auf die Bezeichnungen, aber denoch wird nichts übergeben. Ich habe gedacht, dass der Inhalt vom "Typ" egal ist. Und der Inhalt von "x" in den "Typ" umgewandelt wird.

lv11_img
[attachment=43718]
[attachment=43719]

Ich hoffe ihr könnte mir meine Fragen klären. Ich danke euch.

Mit freundlichen grüßen

Atilla
Ok, es ist wirklich nur ein einfache Problem gewesen und zwar lag es am Datentyp, dieser war nicht ausreichend für meine Übergabe.
Tut mir leid, ich habe diesen hinweis einigemale in der Hilfe gelesen, aber habe ihn wohl nicht so ernst genommen.

Trotzdem danke an euch alle.

Gruß Atilla


Und es tut mir Leid, das ich jetzt ein Extra Thema deswegen eröffnet habe.
Hallo Attila,

probier doch mal die strunzdoofe Umwandlung über ein U16:
[attachment=43722]
Warum das TypeCast nicht funktioniert, was ich jetzt auch nicht...
Gerade wegen dem Datente.yp U16 ging es nicht, da der wohl nicht ausreichend schien, aber wenn ich den Datentyp auf U32 stelle, dann läuft das ohne Probleme.

Aber Danke für deinen Vorschlag GerdW. Also mit deiner Idee erstelle ich direkt aus meiner Registerkarte ein Enum, d.h. aber wenn ich in meinem Enum vll mehr Obejkte haben möchte, muss ich die auch in meiner Registerkarte haben oder?
Hallo Attila,

das Enum in meinem Snippet entspricht deinem Enum-ctl.

Zitat:aber wenn ich in meinem Enum vll mehr Obejkte haben möchte, muss ich die auch in meiner Registerkarte haben oder?
Nein, nicht unbedingt.
Ich frage den Tab ab und wandle dessen Wert in ein U16 um, d.h. 0 für den ersten Tab bis 3 für den 4. Tab. Dies schreibe ich dann in das Enum, welches den entsprechenden Wert anzeigt. Wenn dein Enum mehr Werte hat, ist das hier egal, es wird nur eins der ersten 4 ausgewählt...

Wenn du "komplizierter" umwandeln willst (Reihenfolge ändern, "Lücken" zwischen den Enum-Werten, etc.) würde ich eine Case-Struktur empfehlen, die die Umwandlung explizit ausführt und falsche Eingaben abfängt...
(26.02.2013 13:46 )GerdW schrieb: [ -> ]das Enum in meinem Snippet entspricht deinem Enum-ctl.

Zitat:aber wenn ich in meinem Enum vll mehr Obejkte haben möchte, muss ich die auch in meiner Registerkarte haben oder?
Nein, nicht unbedingt.
Ich frage den Tab ab und wandle dessen Wert in ein U16 um, d.h. 0 für den ersten Tab bis 3 für den 4. Tab. Dies schreibe ich dann in das Enum, welches den entsprechenden Wert anzeigt. Wenn dein Enum mehr Werte hat, ist das hier egal, es wird nur eins der ersten 4 ausgewählt...

Also macht es im Grund, das selbe, was ich mit der Typumwandlung bezwecken wollte. Oder überschreibt die Umwandlung die entschrechenden Felder in der .ctl?

-----------------------------------------------------------------------------------------------
Ja das funktioniert auch sehr gut. Danke.
Wobei er mit nun wenn ich meine Registerkarte mit dem Enum verbinde, einen kleinen roten Punkt an der Verbindungstelle anzeigt. Was bedeutet das?
Hallo Attila,

im ctl wird nichts "überschrieben"...
(26.02.2013 14:45 )GerdW schrieb: [ -> ]Hallo Attila,

im ctl wird nichts "überschrieben"...

Achso ok. Herzlichen dank für deine Hilfe.

Gruß Atilla
Referenz-URLs