LabVIEWForum.de - Probleme mit unterschiedlichen Datentypen

LabVIEWForum.de

Normale Version: Probleme mit unterschiedlichen Datentypen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich habe ein Problem beim Verbinden von Double-Anzeigen und einer Pfadanzeige an die Funktion "Schlüssel schreiben", eigenltich ein polymorphes VI.

Ich habe das SubVI ausserhalb der Case-Struktur angelegt, weil ich so dachte, dass ich vieles Einfügen dieser Funktion in jeden Case so vermeide.

Wie man auf dem Bild jetzt erkennt, kann ich aus dem Case heraus nicht mehr eine Double-Variable und eine Pfad-Variable miteinander verbinden.

Meine Frage - geht das generell nicht - muss ich also die Funktion "Schlüssel schreiben" in jeden Case einfügen oder gibt es eine andere Alternative?
Nein, so geht das nicht.
LabVIEW ist streng datentypisiert, du kannst nicht verschiedene Datentypen auf denselben Ausgangstunnel legen.

Ebenso gilt das für die Ini-Write-VIs: Das ist ein polymorphes VI, da wird im Hintergrund immer das passende VI (abhängig vom Datentyp) verwendet - aber das geht nicht zur Laufzeit, sondern schon beim "Programmieren".

Gruß, Jens
Hallo jg,

vielen Dank für Deine schnelle Antwort. So hab ich wieder was gelernt.
(19.04.2013 11:23 )Hasenfuss schrieb: [ -> ]So hab ich wieder was gelernt.
Gelernt was nicht geht, aber hilft Dir das wirklich weiter?
Was aber geht:
Man kann die in einem Datentyp enthaltenen Informationen immer in einen einheitlichen Datentyp hin- und zurück konvertieren, und zwar entweder
a) Mittels Serialisieren/Deserialisieren
b) Mittels Datentyp Variant.
Beispiel Anwendung für a): um verschiedene Datentypen in eine INI-Datei zu schreiben/zu lesen.
Beispiel Anwendung für b): Um in einer Queue unterschiedliche Datentypen zu transportieren.
Wenn Labview eine einheitliche Schnittstelle anbieten würde um auch die existierenden primitiven Datentypen mittels LVOOP voll ansprechen zu können, wäre das ein typischer Fall für Dynamic Dispatching... Das kann nämlich genau das was du hier willst...

Könnte man aber auch relativ einfach ne wrapper class dafür schreiben die das leistet. Hast dann Quasi ne Oberklasse "RegistryKey" und dann als Unterklassen "Word" und "Path" *zum Beispiel*. Oberklasse implementiert dann einfach die Schnittstelle die von den Unterklassen jeweils passend überschrieben wird.
Referenz-URLs