![]() |
Mehrere Frontpanels öffnen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Mehrere Frontpanels öffnen (/Thread-Mehrere-Frontpanels-oeffnen) Seiten: 1 2 |
Mehrere Frontpanels öffnen - simple - 05.01.2010 10:43 Hi hab mal wieder ein kleines Problem ![]() und zwar ich habe ein Hauptprogramm wenn ich in meinem Main Vi auf einen weiter Button klicke soll das Frontpanel eines Sub Vi öffnen. das funktioniert auch soweit nur will ich jetzt aus dem geöffneten Frontpanel des Sub Vis wieder mit einem Button klick ein weiteres Fronpanel eines anderen Sub Vis öffnen. nur passiert da leider nichts. habe bei Sub VIs mit Boolschen Ausgängen Versehen, Einstellungen der Sub Vi sind (Show frontpanel when called). Vl hat hier jemand einen Idee wie ich das Problem lösen kann. ![]() Mehrere Frontpanels öffnen - jg - 05.01.2010 12:33 Wo sind die SubVIs? Ein genereller Hinweis zu fast allen deiner Themen bisher: Beschäftige dich mit der Verwendung der Eventstruktur. Das vereinfacht so manches. Und dann ![]() Darf ich nochmals auf die LVF-Regeln und die Verwendung der Shift-Taste hinweisen (auch Satzanfänge schreibt man groß ![]() Gruß, Jens Mehrere Frontpanels öffnen - simple - 05.01.2010 16:59 so hab mich mal mit der Event Structur beschäftigt. Habe nur ein Problem, ich will wenn ich einen Button drücke (true) das er dann in das erste Event 0 springt. Leider macht das mein Programm nur wenn die Einstellung Value change benutze. habe ein ganz kleines Prog geschrieben wo ich den Fehler zeigen kann mfg Version 8.6 Mehrere Frontpanels öffnen - Y-P - 05.01.2010 17:20 Hier ist eine Möglichkeit. Ich kann leider nur für 8.6 runterspeichern, weil Eventstrukturen vorhanden sind. Aber ich mach' Dir Screenshots dazu (Die Einstellungen bei Window Appearance (vgl. Screenshot) habe ich bei SubVI1.vi und SubVI2.vi gemacht). [attachment=23420] ![]() [attachment=23422] ![]() [attachment=23423] ![]() [attachment=23424][attachment=23425] [attachment=23426][attachment=23427] [attachment=23428][attachment=23429] [attachment=23430][attachment=23431] [attachment=23432] Gruß Markus EDIT: Wobei ich sehe gerade, dass nur in Deinem Profil 8.5 steht, Du aber schon 8.6 hast. Bitte ![]() Mehrere Frontpanels öffnen - simple - 05.01.2010 17:59 Hi danke erstmal für die schnelle Antwort. Eine Frage hätten ich noch dazu warum funktioniert das ganze mit Value change aber nicht mit Key Down oder Key Up Ich benutze meistens Version 8.5, hab es ausversehen mit Version 8.6 geschrieben. Da bei mir die Version 8.5 eine Vollversion ist und Version 8.6 nur eine Studentenversion Mehrere Frontpanels öffnen - IchSelbst - 05.01.2010 18:36 ' schrieb:warum funktioniert das ganze mit Value change aber nicht mit Key Down oder Key UpDamit es auch mit KeyDown und KeyUp funktioniert, muss das Element den Fokus haben. Du hast im Event ja schließlich "Start: KwyDown" angegeben. Sobald du also auf Tab drückst, wird der Event ausgeführt: TAB => Fokus aus Element => Event, weil KeyUp von TAB. Möglicherweise hast du aber "Applikation: KeyDown" gemeint. Mehrere Frontpanels öffnen - simple - 05.01.2010 18:45 hm ich steh grad glaub ech auf der Leitung. Wenn ich einen Button haben auf dem Frontpanel und will mit diesem Zwei Events steuern dann brauch ich doch applikation Key Down (wenn der Button gedrückt ist) und applikation Key Up (wenn der Button nicht gedrückt ist). Somit kann ich mit Button true in das Event 0 und mit Button false in das Event 1 oder nicht Mehrere Frontpanels öffnen - IchSelbst - 05.01.2010 19:48 ' schrieb:hm ich steh grad glaub ech auf der Leitung.Ja simmt. ![]() Hinweis: Es hat schon was für sich, die Rechtschreibung zu beachten. Dann tut man sich nämlich auch leichter, seine Gedanken in die Worte zu fassen, die genau den eigenen Gedanken entsprechen. Zitat:Wenn ich einen Button haben auf dem Frontpanel und will mit diesem Zwei Events steuern dann brauch ich doch applikation Key Down (wenn der Button gedrückt ist)Diese Aussage ist in sich völlig unlogisch. Das, was du in Klammern geschrieben hast ("wenn der ..."), ist was ganz anderes als das, was vor der Klammer steht ("brauch ich doch ..."). Erstens: "wenn der Button gedrückt ist" stellt einen Zustand dar. "Wenn der Button gedrückt wird" stellt eine Zustandänderung dar. Beachte, ganz wichtig: Events sind immer Zustandsänderungen - Ereignissse, also eben Events. Zweitens: Ein "Application: KeyDown" ist dann, wenn die Applikation den Fokus hat und der Anwender der Applikation eine Taste drückt (nicht: gedrückt hält). Dieser Event aber wird in einer Event-Struktur dargestellt als "Dieses VI: KeyDown". Eine Applikation hat den Fokus dann, wenn die Titelleiste des dazugehörigen Window-Fensters in Blau erscheint (Win2k etc.) Ein "MyButton: KeyDown" ist dann, wenn das Element MyButton (bei dir ein Button) den Fokus hat und der Anwender der Applikation eine Taste drückt. Ein Button hat dann den Fokus, wenn der schwarze Rahmen um den Button erscheint - ohne Fokus, also ohne schwarzen Rahmen auch keine Key-Event. Hinweis: "KeyDown" in Verbindung mit Events bedeutet nicht "Key ist down", sondern "Key wird gerade down, ändert sich also von up nach down". Drittens: Willst du reagieren auf den Zustand des Buttons - "gedrückt ist" oder "losgelassen ist" - dann kannst du einen ganz normalen IF-Case verwenden. Nur wenn du eine Zustandsänderung auswerten willst - "gedrückt wird" ... - dann ist eine Event-Struktur sinnvoll. Zitat:und applikation Key Up (wenn der Button nicht gedrückt ist).Auch das sind wieder zwei Paar Stiefel: KeyUp bedeutet das Loslassen einer Taste. Ein Button würde also von gedrückt nach nicht gedrückt gehen. Diese Flanke (!) löst dann einen Event aus. Die Ausdrucksweise "wenn der Button nicht gedrückt ist" spiegelt nicht die Funktionsweise von "KeyUp" wider. Zitat:Somit kann ich mit Button true in das Event 0 und mit Button false in das Event 1 oder nichtAlleine mit "Button ist gleich true" (das ist ein Vergleich! "Button ergibt sich aus true" ist eine Wertzuweisung) kann man keinen Event auslösen. Ein Event wird nur ausgelöst durch "Button geht von false nach true" (oder umgekehrt, etc. etc.) Events werden auslöst, wenn am FP ein Bedienelement vom Anwender betätigt - gedrückt oder losgelassen - wird. Um ein Event per BD auszulösen, musst du das Property Wert(signalisierend) beschreiben. Hier noch was zu deiner Eingangsfrage"Frontpanel SubVI2 öffnen per ButtonKlick aus einem Frontpanel SubVI1 heraus, was selbst durch einen ButtonClick geöffnet wurde.": Das ist etwas komplizierter (ohne jetzt die VIs von Y-P betrachtet zu haben): Wenn du in SubVI1 einen Button drücken willst, so muss dieses SubVI SUBVI1 auch laufen. Nur weil das FP des SubVIs SUBVI1 zu sehen ist, heißt das noch lange nicht, dass das SUBVI1 auch läuft. Du musst also deine Programmierung so gestalten, dass SUBVI1 kontinuierlich läuft. Mehrere Frontpanels öffnen - simple - 05.01.2010 20:08 Ah Ok jetzt habe ich es verstanden thx. Oh man LabVIEW kostet einem echt Nerven ![]() Das mit dem SubVi1 startet SubVi2 haben ich auch bemerkt das dies nicht geht. SubVi1 läuft aber wenn ich dann aus diesem Subvi das SubVi2 starten will hängt sich alles auf. Mehrere Frontpanels öffnen - IchSelbst - 05.01.2010 20:21 ' schrieb:Dann werde ich das ganze Spiel mal mit If structuren machen.Das wäre in deinem Falle wohl auch so möglich. Mit dieser Methode läuft SUBVI1 ja "kontinuierlich" - und du kannst den Button, der sich in SUBVI1 befindet und zum Starten von SUBVI2 dient, auswerten. Zitat:SubVi1 läuft, aber wenn ich dann aus diesem Subvi das SubVi2 starten will, hängt sich alles auf.Ich vermute mal, dass das am Aufbau des SubVI2 liegt. Möglicherweise ist hier eine Event-Struktur, die praktisch die komplette Applikation anhält (Datenfluß !) |