LabVIEWForum.de
enum strings aus typedef auslesen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: enum strings aus typedef auslesen (/Thread-enum-strings-aus-typedef-auslesen)



enum strings aus typedef auslesen - retlaps - 21.03.2011 10:26

Hallo zusammen

ich habe eine Type Def. die nur ein Enum enthält. Ich würde gerne die Strings mit einem anderen VI auslesen, alles was ich bisher hinbekommen habe ist den 1. Eintrag auszulesen.
Kann mir jemand helfen?

Gruß


RE: enum strings aus typedef auslesen - GerdW - 21.03.2011 10:30

Hallo retlaps,

nimm doch die Property "Strings[]" statt der Property "Value"...


RE: enum strings aus typedef auslesen - retlaps - 21.03.2011 10:37

Hallo,
danke für die Antwort, leider kann ich die Property "strings []" in meinem Fall nicht auswählen, oder ich bin zu doof sie zu finden.

Gruß


RE: enum strings aus typedef auslesen - GerdW - 21.03.2011 10:39

Hallo retlaps,

dann musst du vorher die RefNum in eine speziellere Klasse umwandeln, um die enum-spezifischen Properties lesen zu können...


RE: enum strings aus typedef auslesen - retlaps - 21.03.2011 10:45

Danke GerdW, du bist mein Held.
Diese ganze Angelegenheit mit Referenzen und Refnums ist Neuland für mich.
Hat aber geklappt.

kleine Ergänzung:
kann ich eine Type Def. programmatisch erstellen und abspeichern, d.h. ich lese die alte Type Def. aus, erstelle ein neues VI mit meinem geänderten Strings und speichere es als neue Type Def. (Dient mal wieder alles der Übersetzung eines VIs)?

Gruß


RE: enum strings aus typedef auslesen - GerdW - 21.03.2011 10:50

Hallo retlaps,

Zitat:kann ich eine Type Def. programmatisch erstellen und abspeichern
Ja sicherlich - bei Enums aber nur mit LV Scripting... Und das ist nix für Einsteiger, nix für Produktivumgebungen und meist "unsupported by NI". Ich habe damit auch noch nicht gearbeitet.

Aber:
Enums sind eh nicht dafür gedacht, deren String zu ändern. Dafür nimmt man Rings! Und die darfst du dann auch programmatisch wieder ändern, ohne irgendwelche Klimmzüge zwischendurch...

Erläuterung:
Rings speichern nur den Zahlenwert als Datentyp, der String ist hier nur "schmückendes Beiwerk" und kann jederzeit geändert werden.
Ein Enum dagegen speichert auch den String als Datentyp. Da LV streng datentypbasiert arbeitet, zieht eine Änderung eines Enums immer eine Neukompilierung nach sich - was in einer Exe nicht funktioniert und deshalb programmatisch/zur Laufzeit nicht möglich ist...


RE: enum strings aus typedef auslesen - retlaps - 21.03.2011 10:58

Nochmals danke für die Antwort,

leider haben unsere Entwickler, die das Programm erstellt haben, dass ich übersetzen muss nicht so viel Ahnung von LV wie Du. Deshalb werde ich mich wohl mit den Enums rumschlagen dürfen.
Ich werde aber deine Vorschläge weiterleiten.

Gruß