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!
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.
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)
MfG Timo
Justieren ist dem Gerät sagen was es anzeigen soll, kalibrieren ist die Kontrolle dieser Anzeige. Eichen ist ein längerer Prüfprozess und darf nur das Eichamt!
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 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
Justieren ist dem Gerät sagen was es anzeigen soll, kalibrieren ist die Kontrolle dieser Anzeige. Eichen ist ein längerer Prüfprozess und darf nur das Eichamt!
(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
Justieren ist dem Gerät sagen was es anzeigen soll, kalibrieren ist die Kontrolle dieser Anzeige. Eichen ist ein längerer Prüfprozess und darf nur das Eichamt!
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
Justieren ist dem Gerät sagen was es anzeigen soll, kalibrieren ist die Kontrolle dieser Anzeige. Eichen ist ein längerer Prüfprozess und darf nur das Eichamt!
(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
Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)