LabVIEWForum.de - Top Level Frontpanel ausblenden

LabVIEWForum.de

Normale Version: Top Level Frontpanel ausblenden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Zusammen,
ich habe eine kleine Applikation geschrieben mit dem Ziel alles schön übersichtlich zu machen und Tapeten sind ein No-Go.
Jetzt bin ich mir nicht sicher ob das so im Sinne des Erfinders war.

Auf meine Top Level Vi gibt es keine Controls. Das Vi siehe Vi.png. Frontpanel siehe GUI.png die läuft in einem eigenen Vi.
Beim Programm Start öffnet sich diese und läuft sauber aber ebenso das leere Top Level Vi.

Spontan fällt mir eigentlich nur ein das Vi (Vi.png) nochmal in ein einziges Vi zu kapseln und diese über eine Server Referenz aufzurufen z. B. siehe Bild 2.png.
Habt Ihr eine bessere Lösung bzw. wie man das richtig macht.

Liebe Grüße Hubert
Hallo Hubert,

ich verstehe fast nur Bahnhof und ohne zu verstehen, was du wirklich machst, ist es schwierig eine sinnvolle Antwort zu geben.

Vermutung: Dein Programm startet mit einem VI welches der Benutzer des Programms möglichst gar nicht sehen soll. Dieses VI startet dann das VI mit der GUI.

Wenn es sehr schnell geht bis das GUI VI startet, dann kannst du zum Beispiel das Fenster sehr klein machen und auf 100% transparenz setzen. Im VI kannst du dann das Fron-Panel schließen.

Wenn es etwas länger dauert, bis das GUI VI zu sehen ist, dann kannst du einfach irgend einen Text anzeigen dass die Applikation initialisiert wird und sobald das erledigt ist, kannst du das Fenster schließen.

Ganz ohne dass das Front-Panel zumindest kurz vorhanden ist (auch wenn es transparent ist, ist es auf dem Bildschirm vorhanden), geht es nicht.
Über eine invoke node des VIs kann man das VI ausblenden (active auf false)
[attachment=62770]

MfG Timo
Hallo Martin,
sorry wenn ich mich sehr undeutlich ausgedrückt habe.

Aber deine Idee die du vorschlägst zeigst mir schon das du verstanden hast was ich machen will.

Ich habe es ausprobiert was du mir vorgeschlagen hast und im Prinzip würde das schon gehen.

Ich werde mal versuchen das Top Level Vi im System Tray abzulegen (Win 10 rechts unten „Ausgeblendete Symbole).

Vielleicht klappt das auch.

Hallo TpunktN,
leider klappt dein Vorschlag nicht. In meiner Applikation möchte ich das Top Level Vi verschwinden lassen, dein Vorschlag würde nur mit einem Sub Vi klappen (FP.open , FP.close).


Ich danke euch beiden für den Feedback.

Liebe Grüße Hubert
Mahlzeit Hubert,

ich mache das so in manchen Programmen, das Main wird gestartet, das wiederum startet das SubVI das angezeigt wird. Dann entscheide ich ob ich das Main wie anzeige (debug mode) oder nicht. Vielleicht ist die Reihenfolge wichtig?

MfG Timo
Hallo Timo,

danke für den Hinweis. In dieser Reihenfolge habe ich es nicht ausprobiert.

Wenn ich dich richtig verstehe wird das Main gestartet und von einem Sub-Vi in dem die GUI steckt wieder geschlossen.

Ich werde das nochmals testen und gebe Bescheid.

Gruß Hubert
(22.05.2024 09:38 )Hubert R. schrieb: [ -> ]Wenn ich dich richtig verstehe wird das Main gestartet und von einem Sub-Vi in dem die GUI steckt wieder geschlossen.

Das gestartete (main) VI schließt sich selbst über die fp.open node. (bzw blendet sich aus)

grüße
Hallo Timo,

tatsächlich das geht. Auf die Idee das Top Level Frontpanel aus einem Sub-Vi heraus zu schließen währe ich nie gekommen.

Vielleicht kannst du mir noch sagen ob du die Referenz auch so schließt oder erst bei Programm Stopp?

Gruß Hubert
Mahlzeit Hubert,

du schließt das VI nicht, es ist immer noch da und du kannst es auch wieder anzeigen lassen, bei mir steuert das ausgeblendete VI alle anderen VIs! (Edit: und du musst es beim Programmende auch schließen)
Du kannst die Referenz gar nicht schließen, aber wenn u da mehr wissen willst musst du googeln.

Mfg Timo
(21.05.2024 08:58 )TpunktN schrieb: [ -> ]Über eine invoke node des VIs kann man das VI ausblenden (active auf false)


MfG Timo

Als Anmerkung dazu:
Ich habe genau so eine Struktur mal (fertig) bekommen, wo es genau über diese Invoke Node im Main VI gelöst wird (eigenen Pfad holen, Referenz ziehen, ab in die Invoke node). Allerdings nicht über den "Active" sondern über State - den auf "Hidden" setzen und klappt. Eventuell muss das parallel zum restlichen Code in dem Main.vi (das das ganze startet) ausgeführt werden. Zumindest ist in meinem Fall keine Datenflussabhängigkeit von der restlichen INI Routine gegeben, die vom Main ausgeführt wird.

Gruß Kiesch
Seiten: 1 2
Referenz-URLs