Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
ich erzeuge mir einen array welcher zur steuerung eines frontpanelelements dient. der inhalt dieses arrays stellt die auswahlmöglichkeiten einen kombinationsfeldes dar. da ich diesen array editierbar gestaltet habe ändern sich die elemente. nun habe ich aber das problem da die änderungen auch nach einem neustart von LabVIEW nochvorhanden sein sollen und nicht wieder auf den programmieren default zurück gehen sollen.
ich finde keinen passenden eigenschaftsknoten. um geänderte werte auch nach einem LabVIEW neustart zu erhalten muss ich händig -> datenoperation-> aktuellen wert als standard.
ich bräuchte also eine anordnung die das automatisch löst^^
danke für all den gehirnschmalz der dafür verwendet wird.
Du kannst die Werte die du speichern willst in eine Textdatei schreiben. Das ist keine große sache. Dafür gibt es auch einige Beispiele.
Nach jedem Programmstart liest du diese Initialisierungsdatei ein und hast alle alten Werte wieder.
Das Programm behält seine alten Werte. Aber wenn du LabVIEW schließt und wieder öffnest sind die Werte natürlich weg. Da würde mir als Lösung aber nur eine externe "Datenbank" einfallen. Und wenn die Datenbank nur eine Textdatei ist.
Warum ist diese Lösung für dich nicht machbar? Vielleicht fällt mir ja doch noch was anderes ein...
' schrieb:ja sry, hab ich vergessen zu schreiben. genau das ist keine option^^. liegt an der späteren verwendung des programms.
sonst wäre es ja zu einfach.
Entscheidend ist, ob du daraus eine EXE machst.
Eine EXE kannst du das nicht ändern, mir wäre da auch kein "gutartiges" Programm bekannt, dass sich selber ändert.
Falls deine fertige Lösung in der LV-IDE läuft, könnte man sich was überlegen, aber ... die spätere verwendung des programmes ?
.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
' schrieb:Entscheidend ist, ob du daraus eine EXE machst.
Eine EXE kannst du das nicht ändern, mir wäre da auch kein "gutartiges" Programm bekannt, dass sich selber ändert.
Falls deine fertige Lösung in der LV-IDE läuft, könnte man sich was überlegen, aber ... die spätere verwendung des programmes ?
man könnte jetzt dynamisch codeerzeugung auf den tisch brignen. in LabVIEW kein übliches mittel (wenn überhaupt machbar) aber wenn das .NET framework vorhanden ist köntne man sicherlich über eine dll die entsprechende schnittstelle aufbauen. im endefekt würde man dann aber auch nur den quellcode eines c#, vb oder ähnlichen programms abändern, neu compilieren, in ne dll packen und verwenden. sprich man würde die gewünschten infos in eine datei schreiben.
Ich glaube es wäre interessant zu wissen, warum man keine datei auf dem zielsystem anlegen kann.
LG
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Hallo marscu,
die Shared variables haben so die Eigenart, das die Werte erhalten werden auch wenn LV nicht läuft.
Mögliche Lösung: Im Projekt neue Variable erstellen, hoffen das dein Datentyp damit vereinbar ist,
wenn nein Dein Datentyp Flatten to String und als String puffern und anschließendes Unflatten..
Somit existiert jetzt eine Shared Variable die Du in Deinem Programm beschreiben musst und in deiner Initialisierung (vielleicht noch mit FirstCall abfangen) Lesend dein Arrayzustand wieder herstellen kannst.
Im Anhang ein kleines lv85Testprojekt mit dem Bsp von Jewi.
Und was macht man, wenn der Rechner neu gestartet wird? Ich kann mir nicht vorstellen, dass die Shared Variables dann noch den Wert vom letzten Stand beibehalten?!
Ich verstehe wirklich nicht, was gegen Speichern in einem FIle sprechen soll, das ist Standard-Vorgehen!
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!