Dialog nur auf einem Reiter - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Dialog nur auf einem Reiter (/Thread-Dialog-nur-auf-einem-Reiter) |
RE: Dialog nur auf einem Reiter - Frank M-F - 17.10.2011 08:34 Die Lösung 2 habe ich dann wohl nicht ganz verstanden Du meinst ich sammel alle Fehler an einer Stelle, und sorge dafür, dass der Dialog aus Unterprogramm 3 nur aufploppt wenn ich mich auf Registerkarte 3 befinde? Wenn er dann aber aufgeploppt ist, muss ich den ja auch quittieren sonst bevor ich wieder einer andere Aktion ausführen kann. Ich will aber weiterhin auf den Unterpanels von Programmen bei denen keine Fehler aufgetreten ist Events auslösen können - und den Dialog von Unterpanel 3 ignorieren können. RE: Dialog nur auf einem Reiter - GerdW - 17.10.2011 08:38 Hallo Frank, Zitat:Ich will aber weiterhin auf den Unterpanels von Programmen bei denen keine Fehler aufgetreten ist Events auslösen könnenKurze Wiederholung meiner Antwort von Beitrag#10: Zitat:Lösung 2, bei der du die Fehleranzeige nicht modal machst? Zitat:Ich will aber weiterhin auf den Unterpanels von Programmen bei denen keine Fehler aufgetreten ist Events auslösen können - und den Dialog von Unterpanel 3 ignorieren können.??? Da sollen "Dialoge" nur aufpoppen, wenn der zugehörige Tab angewählt ist. Du willst aber auch bei angezeigtem "Dialog" die Tabs umschalten können? Und was soll passieren, wenn auf dem neu gewählten Tab neue (oder auch alte, noch nicht quittierte) Fehlermeldungen anstehen? Vielleicht solltest du dein gesamtes Fehlerhandling überdenken? Oder noch deutlicher und klarer formulieren? RE: Dialog nur auf einem Reiter - rolfk - 17.10.2011 08:48 (17.10.2011 08:34 )Frank M-F schrieb: Die Lösung 2 habe ich dann wohl nicht ganz verstanden Du rennst Dich da in irgendwas rein ohne wirklich gut nachzudenken. Definitionsgemäss ist ein Dialog ein Dialog, der den Benützer zur Interaktion zwingt bevor er weitermachen kann. Ansonsten ist es kein Dialog sondern allenfalls ein Floater. Alles in LabVIEW machbar aber was Du da so beschreibst, auch wenns noch nicht ganz deutlich ist, artet in eine Orgie von Unterpanels und Floatern, die alle was voneineinander wissen müssen, aus. Spätestens wenn Du den dritten oder vierten Reiter hinzufügst und alle anderen Methoden zum sovielsten Mal anpassen musst, wirst Du Dir die Haare ausreissen und allenfalls den Computer zum Fenster rausschmeissen. Warum denn nicht etwas anderes machen? Beispielsweise ein rot unterlegter Textstring auf dem Panel der den Status des Reiters angibt. Das is ziemlich einfach durch eine Methode in Deinen SubPanels zu implementieren die dem Hauptpanel die Möglichkeit gibt dessen Status zu erfragen. Und dann allenfalls den OK Button disablen, solange ein SubPanel noch einen ungültigen Status hat. Simpel gesagt: Du willst eben gerade keinen Dialog, da dieser definitionsgemäss den User zur Aktion in eben diesem Dialog zwingt. Und die Alternative Floater sollte SEHR gut überlegt sein. Floater arten meistens in ziemlich chaotischen Code aus, wenn man das nicht von Anfang an sehr gut designt und implementiert. RE: Dialog nur auf einem Reiter - Frank M-F - 17.10.2011 08:51 Okay im erklären bin ich wohl wirklich schlecht..oder das was ich machen will ist so schräg das man es gar nicht verstehen kann. Letzte Versuch. Es laufen viele Unterprogramme parallel in einer Dauerschleife. Die Frontpanels der einzelnen Unterprogramme werden in Unterpanels gezeigt welche sich wiederum in den Registerkarten befinden. Wenn jetzt Unterprogramm 3 einen Fehler hat, soll der FehlerDialog3 in Unterpanel3/Registerkarte3 zu sehen sein. Bevor ich auf Registerkarte 3 nun wieder ein Event auslösen kann, muss ich den Fehler Quittieren. So wie es bei nem Normale Dialog auch ist. ABER: Ich will weiterhin die Möglichkeiten die Registerkarte zu wechseln und die Aktionsmöglichkeit auf Unterpanels von VI's ohne Fehler. FehlerDialog3 in Registerkarte 3 >> hier muss ich quittieren oder es geht nichts mehr. Aber ich kann auch ohne diesen zu quittieren auf Registerkarte 5 gehen und hier z.B. ne Eingabe machen. RE: Dialog nur auf einem Reiter - GerdW - 17.10.2011 08:56 Hallo Frank, wozu dann die Dialog-Fenster? Warum nicht gleich den Quittier-Knopf auf jedem Unterpanel einblenden? Zitat:Es laufen viele Unterprogramme parallel in einer Dauerschleife.Ich hoffe, die blockieren sich nicht gegenseitig bei Fehlermeldungen... RE: Dialog nur auf einem Reiter - TpunktN - 17.10.2011 13:43 Hallo Frank, zwar bin ich auch LV Neuling, habe soetwas aber schon in Visual Basic als Problem gehabt. Meine Lösung damals war ein transparentes Shape in jedem Reiter einzubauen und standartmäßig auszublenden. Wenn ein Fehler anliegt, wird das Shape aktiviert (dadurch kann ncihts innerhal angeklickt werden) und eine Fehlerbox (ebenfalls mit dem Shape erstellen) einblenden. Soetwas ähnliches, wenn nicht sogar genau das Gleiche, ist in LabView sicherlich möglich. Wenn dir diese Art zusagt, hilft dir sicher wer, der sich mit LV auskennt tn RE: Dialog nur auf einem Reiter - M@rRy - 17.10.2011 14:49 Mahlzeit nochmal, also ich finde deine Idee, oder das was du da vor hast, nicht so ganz Stimmig und glaube auch das du die Sache noch nicht bis zum Ende durchdacht hast. Aber solltest du es wirklich so machen wollen, das du ein Fehlerfenster für jeden Reiter hast, könntest du es ja uch so probieren (mir ist bewusst das das viel Aufwand ist, aber das bringt es nun einmal mit sich): Du erstellst dein Hauptregister in denen später deine VIs laufen sollen, jede Registerkarte bekommt wiederrum ein eigenes Register mit zwei Registerkarten bei denen allerdings die Reiter nicht eingeblendet werden. Jetzt kannst du beigehen und zwischen dem einem Reiter, auf dem das VI läuft und dem zweiten Reiter, auf dem deine Fehlermeldung und ein Quittierknopf sind, hin und her switch und hast weiterhin die Möglichkeit im Hauptregister umher zu switchen wie du möchtest und dein komplettes Progamm steht nicht gezwungenermaßen still, sollte ein Fehler auftreten. Kommt das deiner Vorstellung eventuell etwas näher? Gruß Daniel PS: Warum kommt es mir eigentlich so vor das du ganz stark damit rechnest das da ein Fehler auftritt? Vielleicht wäre es sogar einfacher dafür zu sorgen das die nicht auftreten als dich auf die Meldung selbst zu konzentrieren. Sichbarkeit von Dialogen - Frank M-F - 20.11.2011 16:01 Kann ich einen Dialog(auch ein selbst erstelltes Dialog-SubVI), so aufrufen, dass es nur auf dem Frontpanel des "Dialog startenden VI's" zu sehen ist, und nicht per se auf dem Frontpanel des Main.vi ?? RE: Sichbarkeit von Dialogen - jg - 20.11.2011 16:56 Was willst du? Oder sind wir immer noch bei diesem Thread? Gruß, Jens RE: Sichbarkeit von Dialogen - Frank M-F - 20.11.2011 17:17 Ja, ansich sind wir wieder da. Ich versuchs nochmal: Ich habe auf dem Frontpanel meines Main.vi ein Unterpanel. Das Unterpanel zeigt das Frontpanel eines Sub.vi In dem Sub.vi wird nun ein Dialog aufgerufen(weiters Sub.vi, nicht der vorgefertigte). Das Dialogfenster erscheint nun freiverschiebbar auf dem Frontpanel meines Main.vi Was ich will, ist das das Dialogfenster nur im Rahmen des Unterpanel erscheint und verschiebbar ist. |