Hallo,
ich habe ein Programm geschrieben bei welchem ich die global als Front Panel benutze. Jetzt werden sicherlich einige entsetzt sein, aber ich wusste nicht wie ich während des Programmablaufs sonst alle Datenfelder aktuell halten sollte. Vielleicht hat da jemand eine bessere Idee?
Da die global mittlerweile doch recht viele Variablen beinhaltet würde ich einige gerne Verstecken um die Bedienoberfläche für andere übersichtlicher zu machen. Das Verstecken ist kein Problem, jedoch habe ich noch keine Möglichkeit gefunden die Variablen wieder sichtbar zu machen.
Gibt es eine Möglichkeit über einen einzelnen Knopf alle nicht benötigten Variablen und Anzeigeelemente zu verstecken bzw. diese wieder sichtbar zu machen? Ähnlich wie bei einigen Programmen wo es einen Knopf gibt "Expert Mode" der dann mehr Optionen freischaltet.
Sollte über den Eigenschaftsknoten mit der Eigenschaft Visible gehen, auf jede Var ein Property-Note und es funzt. Oder über eine Schleife mit einem Referenzarray auf die einzelnen Objekte.
Jan
Leider werd ich aus dem letzten Post nicht ganz schlau, könntest du es nochmal etwas ausführlicher beschreiben.
Verstehe ich eigentlich richtig, du hast in einem Globale-Variablen-VI Elemente unsichtbar gemacht?
Da funktioniert das mit den PropertyNodes direkt natürlich nicht.
Mglw. geht es über VI-Server-Funktionalitäten, aber das weiss ich auswendig auch nicht.
MfG, Jens
Ja sind alles globale Variablen die hier zur diskussion stehen...ich kann sie auch unsichtbar machen, aber nicht wieder sichtbar? Ist das ein bug bei LabVIEW 7? Mit den normalen Frontpanel objekten ist das alles kein problem.
' schrieb:Ja sind alles globale Variablen die hier zur diskussion stehen...ich kann sie auch unsichtbar machen, aber nicht wieder sichtbar? Ist das ein bug bei LabVIEW 7? Mit den normalen Frontpanel objekten ist das alles kein problem.
Also, als Bug würde ich das nicht unbedingt bezeichnen (eher Feature), denn:
Wieso sollte man überhaupt daran interessiert sein, in einem globale-Variable-VI Elemente unsichtbar zu machen? Schließlich ist das FP eines solchen VIs in einer Anwendung nie für den Benutzer zu sehen, somit besteht auch kein Bedarf, was zu verstecken.
Dafür habe ich das gerade mit meinem Vorschlag per VI-Server probiert, es funzt, somit bekommst du zumindest deine Elemente wieder sichtbar. Erstelle dir folgenden Code:
[
attachment=13179]
Beim Dateidialog wählst du dann dein "Globales-Variable-VI" aus, und gut ist.
MfG, Jens
Hallo Jens,
schonmal vielen Dank für deine Hilfe, so funktioniert es auf jeden Fall mit dem wiederherstellen.
So lassen sich die Elemente auch wieder einzeln verstecken. Leider kommt aus der Property Node nur ein Array aus Control Refnums heraus, woran man nicht erkennen kann welche Variable (bzw. welches Control Element) wo im Array abgespeichert wird. Gibt es eine Möglichkeit heraus zu finden wo in diesem Array, also bei welchem Index, welche Variable übergeben wird ohne dies manuell für alle Variablen durch zu probieren?
Edit: Habe über die VI-Server funktion die Variablen Namen in einen Array ausgegeben, so kann man relativ schnell den Index einer Variable im Array erkennen.
' schrieb:Edit: Habe über die VI-Server funktion die Variablen Namen in einen Array ausgegeben, so kann man relativ schnell den Index einer Variable im Array erkennen.
Na also, selber lernen macht schlau!
Ich verstehe trotzdem nicht, wieso du in einem Globale-VI Frontpanel-Elemente versteckst! Wie schon gesagt, in einer endgültigen und sinnvoll programmierten Anwendung ist so ein FP NIE sichtbar, das FP kann doch nur in der Entwicklungsumgebung und dann im Edit-Modus geöffnet werden.
MfG, Jens
' schrieb:Na also, selber lernen macht schlau!
Ich verstehe trotzdem nicht, wieso du in einem Globale-VI Frontpanel-Elemente versteckst! Wie schon gesagt, in einer endgültigen und sinnvoll programmierten Anwendung ist so ein FP NIE sichtbar, das FP kann doch nur in der Entwicklungsumgebung und dann im Edit-Modus geöffnet werden.
MfG, Jens
Ich arbeite an einem Programm von dem das Grundgerüst bereits stand. In diesem Programm waren viele Variablen, welche sich während des Programmablaufs ändern als globals ausgeführt. Der Sinn dahinter war es den Wert der Variablen in Echtzeit verfolgen zu können und andere Variablen vor dem Programmstart einzustellen. Bevor ich mit diesem Projekt anfing hatte ich noch nie mit LabVIEW gearbeitet, und wusste also nicht so genau ob es jetzt optimal ist oder nicht so vorzugehen. Habe mir also vermutlich diese schlechte Eigenschaft von meinem Vorgäger "abgeschaut".
Auf der anderen Seite weiß ich leider auch nicht wie man sonst ein Frontpanel erstellt welches geupdatet wird sobal ein tief im Programm eingebettetes Sub-VI eine Variable verändert ohne das es eine teuflische strippenzieherei wird.
Hi
alo ich denk ohne dein VI mal zu sehen wird es uns hier schwer fallen dir zu helfen ...
einfach mal hochladen ... nzw Bilder davon und mal umschreiben was du machen willst ...
toaran