![]() |
Laufzeitmenü beeinflussen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Grafik & Sound (/Forum-Grafik-Sound) +---- Thema: Laufzeitmenü beeinflussen (/Thread-Laufzeitmenue-beeinflussen) |
Laufzeitmenü beeinflussen - Hubert R. - 16.06.2012 09:48 Hallo zusammen, vielleicht kann mir jemand weiterhelfen. Ich stehe vor folgendem Problem. Ich möchte aus einem Unterpanel heraus das Laufzeitmenü beeinflussen. Das Programm soll folgende Funktion erfüllen: Nachdem das main VI gestartet wurde erscheint das Laufzeitmenü mit dem Punkt "Edit" hier sind zwei Menüpunkte sensors und temperature. Diese werden jeweils nach Auswahl es entsprechenden Tab Seite 1 frei geschaltet und Seite 2 gesperrt (funktioniert soweit). Nun möchte ich jeweils einen dieser beiden Menüpunkte über die Tab Auswahl Seite 3 und Seite 4 frei schalten bzw. wieder sperren. Zum Beispiel: Anwahl seite 3 menüpunkt sensors frei geschaltet, Menüpunkt temperature gesperrt. Bei Anwahl seite 4 soll sensor gesperrt sein und temperature frei geschaltet. Ich habe schon einiges ausprobiert aber ich bekomme immer einen Fehlermeldung. Gruß Hubert RE: Laufzeitmenü beeinflussen - GerdW - 16.06.2012 11:20 Hallo Hubert, Zitat:Ich habe schon einiges ausprobiert aber ich bekomme immer einen Fehlermeldung.Was hast du ausprobiert? Welche Fehlermeldungen hast du bekommen? Zitat:nach Auswahl es entsprechenden Tab Seite 1 frei geschaltet und Seite 2 gesperrt (funktioniert soweit).Du hast also schon heraus bekommen, wie man prüft, welchen Tab der User ausgewählt hat... Zitat:Nun möchte ich jeweils einen dieser beiden Menüpunkte über die Tab Auswahl Seite 3 und Seite 4 frei schalten bzw. wieder sperren.Du bist also nicht in der Lage, folgende boolsche Verknüpfung zu programmieren: Code: IF seite2 OR seite3 THEN Enable(Sensors) ELSE Disable(Sensors) So richtig schwer ist das doch eigentlich nicht... RE: Laufzeitmenü beeinflussen - Hubert R. - 16.06.2012 11:34 Hallo Gerd, vorab danke für die Antwort, zu 1. Es kommt der Fehler 1060. Ich denke mal das die Menüreferenz im up-reiter2.vi nicht stimmt. Wie muss ich diese von main an das up-reiter2.vi übergeben? zu 3. quick and dirty RE: Laufzeitmenü beeinflussen - GerdW - 16.06.2012 11:54 Hallo Hubert, ahh, jetzt sehe ich dein Problem erstmal. Gegenfrage: warum teilst du deinen Tab auf 2 VIs auf? Warum nicht ein Tab mit 4 Seiten im mainVI? Zitat:Wie muss ich diese von main an das up-reiter2.vi übergeben?Wie man auch sonst Werte übergibt. Globale Variablen. FGVs. Per Methode (die ich aber gerade nicht finde). Zitat:zu 3. quick and dirtyWas ist an meinem Vorschlag q&d? Eher ist deine Variante q&d, weil du nämlich anfängst, eine Resource von zwei Seiten aus zu verändern: sowas nennt sich RaceCondition. (Dein MainVI entscheidet anhand von Tab1&2 über das Menü, dein Reiter2 anhand von Tab3&4. Da man das selbe Menü beeinflussen will, kann es zu RaceConditions kommen). Mein Vorschlag: Das Menü wird dort verwaltet, wo es angezeigt wird: also im MainVI. Dein Reiter2 meldet an MainVI den aktuellen Status seines TabContainers und MainVI setzt dann entsprechend (wie im Beitrag oben gezeigt) die Menüoptionen... RE: Laufzeitmenü beeinflussen - Hubert R. - 16.06.2012 12:12 zu 1. wegen der Übersichtlichkeit. zu 3. Richtigstellung, da hast du mich falsch verstanden. Mein Vi ist an der Stelle Q&D. zu 2. Mit GV hatte ich den gleichen Fehler. Ich würde auch gern deinen Vorschlag umsetzen, aber ich weis leider nicht wie ich die Information aus den Sub-Vi in das Main bekomme. RE: Laufzeitmenü beeinflussen - GerdW - 16.06.2012 12:17 Hallo Hubert, Zitat:Mit GV hatte ich den gleichen Fehler.RaceConditions? Zu früh auf eine noch nicht initialisierte GV zugegriffen? Probier's doch (noch) mal mit GVs - und häng dann auch hier an, was du da programmiert hast. Sonst ist man immer nur am ![]() RE: Laufzeitmenü beeinflussen - Hubert R. - 16.06.2012 12:34 Hier das VI mit GV. Nun kommt der Fehler 1160 RE: Laufzeitmenü beeinflussen - GerdW - 16.06.2012 12:50 Hallo Hubert, bei mir funktionierts - wenn ich die RaceCondition explizit ausschließe... - Wozu eigentlich die Schleifen mit dem Stop-Button, wenn deine VIs (wg. Endlosschleifen) eh nicht zu beenden sind? - Man kann das TabControl direkt abfragen, siehe Attachment... RE: Laufzeitmenü beeinflussen - Hubert R. - 16.06.2012 13:10 Hallo Gerd, danke für deine Unterstützung. Jetzt geht es auch bei mir. Den Hinweis mit RC werde ich mir gut merken und bei der Umsetzung darauf achten. Gruß Hubert |