Habe mir mal ein alternatives Konzept überlegt. Das Speichern/Lesen wird in einem SubVI erledigt.
Funktionsweise, vom Haupt-VI aus gesehen:
Es werden alle Typen von Elementen gespeichert, also angefangen vom boolschen Element bis hin zu einem mehrdimensionalen Array oder kompliziertem Cluster.
Das Einzige was man was an das SubVI eingeben muß, ist ein Textarray von allen zu speichernden/zu lesenden Variablennamen (Die dämliche Bezeichnung im deutschen LV dafür heißt „Beschriftungen“)
Und natürlich die boolsche Information, ob man schreiben oder lesen möchte.
Z.Zt. muß man auch den Pfad des aufrufenden Vis noch mit übergeben, aber da hoffen ich, dass es einen schlauen Experten gibt, der weiß, wie man vom SubVI aus feststellen kann, von wem es aufgerufen wurde.
Interne Funktion des SubVI:
Es werden alle Elemente in Variants konvertiert, und danach der Wert jedes Variants in serialisierten Text. Diese Texte werden gespeichert. Dazu habe ich als Format das ini-Dateiformat gewählt. Es müsste aber ganz einfach sein, auch ein anderes Format zu wählen, also z.B Binärformat oder HTML.
Die ini-Datei sieht so aus:
[Test.vi]
Element 1 = "��������"
Element 2 = "�"
Element 3 = "��������"
( Shit: Leider sind Zeichen mit vorangestelltem Backslash hier nicht darstellbar)
Also: Abschnittname = VIName, Schlüssel = Beschriftung, Schlüsselwert = serialisierter Text.
Test.vi (Größe: 13,31 KB / Downloads: 275)
Testsub.vi (Größe: 17,91 KB / Downloads: 279)