LabVIEWForum.de - Variantinhalt finden

LabVIEWForum.de

Normale Version: Variantinhalt finden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.

Peter Knauer

Ich hab das mit den Variants noch nicht so richtig verstanden.

Ausgangsproblem ist: Ich möchte in einem Eventcase mehrere ControlValueChanges gleichzeitig abfangen. (Gebe also mehrere Event Specifiers an).

Dann wird "NewVal" zum Datentyp "Variant".

Wie bekomme ich da nun raus, welcher der Controls das Event ausgelöst hat und welchen NewVal er nun besitzt?

Eigentlich ginge das doch ganz einfach mit Get Variant Attribute. Habe mir anhängendes Beispiel (LV8.0) gebaut.

Kann mir jemand sagen, warum die Arrays "Value" und "Names" leer bleiben?
Was mache ich falsch?
Mein LabVIEW sagt mir, dass dein Beispiel in LabVIEW 8.6 erstellt wurde, und nicht wie versprochen 8.0! Kann es daher nicht öffnen.


LG, Torsten!
Falsch machst was grundlegendes: Wenn du ein Value change event auf unterschiedliche elemente anwendest und dann den neuen wert auswerten willst, solltest du deine strategie ueberdenken.
Beispiel koenntest du von variant ganz einfach auf den datentyp kommen indem du von der ctrl ref das label ausliest und dann ein variant to data mit der dir bekannten datenstruktur anwendest.

besser ist es jedoch grundsaetzlich alles schoen aufzutrennen und/oder nur jene elemente zusammen zu fassen, die definitiv den gleichen datentypen haben (erspart dir sehr viel zeit).

wennst grundsaetzlich in zukunft einen variant datentypen analysieren willst, schau dir das angehaengte beispiel an (8.6).
wenn es sich um komplexere datentypen handelt (cluster), musst du die variant anaylse VIs verschachteln bzw rekursiv verwenden


Das set und get variant attribute verwendet man fuer ganz andere sachen :-)

Peter Knauer

Vielen Dank für die Hilfe, das hat mich schon weitergebracht.

' schrieb:Das set und get variant attribute verwendet man fuer ganz andere sachen :-)

Für was denn?

In dem LabVIEW-Example LabVIEWexamplescommdatasktx.llb hab ich die Verwendung genau so verstanden.
Mit getset variant attribute kannst du dynamisch daten in den variant daten typ einpflegen bzw individuell auslesen... aber es bleibt nach wie vor ein variant datentyp und hilft dir nicht unmittelbar beim transformieren.
Hab' Dir hier ein Bsp.

[attachment=14608]
Lv86_img

Gruß Markus
......... und hier noch für LabVIEW 8.0

[attachment=14609]
Lv80_img

Gruß Markus

Peter Knauer

Das hat sich überschnitten, aus den Hinweisen hatte ich mir schon etwas sehr ähnliches gebaut. Ich danke sehr für die Hilfe!
Referenz-URLs