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!
bei professionellen Applikationen wie LabVIEW, Word.... erscheint beim Programmstart ein Infofenster mit diversen Informationen.
Wie wird dies am Besten gelöst? Gibt es ein spezielles Tool/Funktion dafür?
In meiner Variante (siehe mein Screenshot) wird das Splash screen.vi als Toplevel geladen.
Dann sollten alle SubVis im Ordner Programm und das main.vi geladen werden.
Wie muss es mit den Pfadangaben richtig gemacht werden?
Werden die geöffneten Referenzen nach LV Beendigung automatisch geschlossen/freigegeben?
Ich vermute das mit der Funktion "Rekursive File List.vi" geht mit einem Built nicht ?!?
(09.03.2012 13:27 )GT123 schrieb: Dann sollten alle SubVis im Ordner Programm ... geladen werden.
Zu welchem Zweck? Was versuchst du zu erreichen? Sind die SubVIs nicht Teil des Main.vi? Wenn das nämlich so ist, werden die automatisch mit dem Main.vi geladen...
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Hi,
ja ok du hast recht, die meisten Subvis werden ja durch das main.vi geladen.
Aber wie sieht es aus mit Vis die ich während der Laufzeit mit Referenzen in Subpanels lade?
Die muss ich dann aber zum main.vi zusätzlich laden?
Ich dachte an Splash Screens bei denen man mit verfolgen kann was geladen wird, deswegen Subvis einzeln laden...
aber macht ja kein Sinn, ist schon richtig von dir.
Und: Werden die geöffneten Referenzen nach LV Beendigung automatisch geschlossen/freigegeben?
Hi,
mit Subpanels hab ich wenig Erfahrung. Ich weiß aber, das man einfach alle VIs, die man per "VI Server" lädt, im Application Builder als "Always included" hinzufügen muss. Dann werden Sie genauso gefunden wie in der Entwicklungsumgebung.
Es gibt auch die Möglichkeit, VIs dynamisch zu laden, die quasi einzeln austauschbar sind. Wenn du deinem Kunden z.B. irgend eine Funktion in ein SubVI legst und dieses mal updaten möchtest, kann man das so machen. Wie die dann aber der eigentlichen Exe bekannt gemacht werden, weiß ich nicht.
Beim Beenden von LV werden die Referenzen gelöscht...soweit ich weiß. Generell sollte man sich aber im Code angewöhnen, alle Türen die man geöffnet hat, hinter sich auch wieder zu schließen!
A.
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Hi,
noch ne kurze Ergänzung zu meinem Vorhaben:
Im Splash Screen sollte die Fortschrittleiste bis auf z.B. 100% laufen, dann sollte das main aber auch wirklich geladen u. gestartet sein. Momentan läuft die Fortschrittleiste super kurz an (also main.vi ist doch recht schnell geladen) und dann stoppt die F.leiste und es dauert bis das main.vi gestartet ist und tatsächlich läuft.
Zitat:mit Subpanels hab ich wenig Erfahrung. Ich weiß aber, das man einfach alle VIs, die man per "VI Server" lädt, im Application Builder als "Always included" hinzufügen muss. Dann werden Sie genauso gefunden wie in der Entwicklungsumgebung.
Ja das kann ich bestätigen. SplashScreen.vi als Startup Vi und main.vi und alle die ich per Vi Server lade in always included.
Das mitVIs dynamisch hört sich interessant an.
Ref. schliessen: Ich öffne diese ja im SplashScreen.vi, dieses Vi schliesse ich sobald das main geladen/gestartet wurde.
Also ich muss dann wenn das main.vi beendet wird die main Referenz schliessen. Geht das vielleicht so, dass ich die Ref. in eine FGV schiebe u. beim beenden des main.vi diese im main.vi selbst schliesse? Geht dass überhaupt?
Grüsse
GT123
14.03.2012, 07:29 (Dieser Beitrag wurde zuletzt bearbeitet: 14.03.2012 07:30 von Achim.)
(14.03.2012 06:31 )GT123 schrieb: Im Splash Screen sollte die Fortschrittleiste bis auf z.B. 100% laufen, dann sollte das main aber auch wirklich geladen u. gestartet sein. Momentan läuft die Fortschrittleiste super kurz an (also main.vi ist doch recht schnell geladen) und dann stoppt die F.leiste und es dauert bis das main.vi gestartet ist und tatsächlich läuft.
Ich hab mir das viel einfacher gemacht: Ich blende den Splash Screen (Modal!) ein und darin läuft ein Fortschrittsbalken "im Kreis", so wie beim Windows XP - Start. Es ist ja für den Benutzer vollkommen uninteressant, was da gemacht wird. So lange die SW ein Lebenszeichen und irgend ne "Bewegung" zeigt, ist man beruhigt, weil sich was tut. Ich zeige zusätzlich den SW-Stand und den Hinweis "Initialisierung..." an. Im Splash Screen lade ich per VI-Server das Main-VI im Hintergrund (FP.State = "Hidden"). Den Splash Screen lasse ich so lange laufen, bis in meinem Main-VI alle Initialisierungen durchgeführt wurden, d.h. bis ich im Main an einer bestimmten Stelle angekommen bin. Dann zeige ich das Main-VI-FrontPanel an (FP.State = "Standard") und schließe per (Functional) Global Variable ("Kill Splash") den Splash Screen.
(14.03.2012 06:31 )GT123 schrieb: Geht das vielleicht so, dass ich die Ref. in eine FGV schiebe u. beim beenden des main.vi diese im main.vi selbst schliesse?
Ich würde mir über diese einmal geöffneten Referenzen keine Gedanken machen! Meine Anmerkung zielte eher dahin, Referenzen wieder zu schließen, die du z.b. in einem mehrfach verwendeten SubVI immer wieder öffnest!
A.
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)