INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Schleife nach Pop-Up beenden



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!

16.02.2016, 08:50
Beitrag #1

TDO Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 125
Registriert seit: Oct 2013

2016
2009
DE


Deutschland
Schleife nach Pop-Up beenden
Hallo,

kann ich eine While Schleife beenden, nachdem ein One-Button-Dialog geschlossen wurde?
Es soll dieser Dialog geöffnet werden (natürlich nur einmal) und dann soll die Schleife solange ihre Arbeit tun, bis der Benutzer den Dialog weggeklickt hat.
Mir fällt gerade nichts ein, wie ich das lösen kann, ohne das der Dialog bei jedem Schleifendurchlauf aufpopt...
Hat da jemand eine Idee, wie man das machen kann?

Gruß
TDO
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.02.2016, 08:57
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Schleife nach Pop-Up beenden
Hallo TDO,

wenn Dinge parallel laufen sollen (Dialog und Arbeitsschleife), dann sollten sie in parallelen Schleifen stattfinden.
Reicht das als Tipp?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.02.2016, 09:01
Beitrag #3

TDO Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 125
Registriert seit: Oct 2013

2016
2009
DE


Deutschland
RE: Schleife nach Pop-Up beenden
Steh immernoch auf dem Schlauch.
Der Dialog soll ja nur einmal angezeigt werden. Wie kann ich den Dialog in einer Schleife abfragen, ob er beendet wurde, ohne, dass er bei jedem durchlauf wieder erneut aufpopt?
Wenn ich eine zweite Schleife für den Dialog einrichte, wird der Dialog ja ständig aufgerufen.

Bitte um noch einen Tipp ;-)

Gruß
TDO
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.02.2016, 09:10 (Dieser Beitrag wurde zuletzt bearbeitet: 16.02.2016 09:32 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Schleife nach Pop-Up beenden
Hallo TDO,

Pseudocode:
Code:
flag := FALSE
Dialog("Text")
flag := TRUE
Das Flag wird in der parallel laufenden Schleife abgefragt…

Zitat:Wenn ich eine zweite Schleife für den Dialog einrichte, wird der Dialog ja ständig aufgerufen.
Diese zweite Schleife muss nicht unbedingt eine Schleife sein, es kann sich ja auch um eine Sequenz etc. handeln. Außerdem könnte man diese Schleife ja auch genau einmal durchlaufen, wenn der User beim Dialog auf den richtigen Button klickt…

Kernaussage: Wenn Dinge parallel laufen sollen, muss man sie auch parallel programmieren. Und das machst du nicht, wenn der Dialog innerhalb der Arbeitsschleife aufgerufen wird!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.02.2016, 09:41
Beitrag #5

TDO Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 125
Registriert seit: Oct 2013

2016
2009
DE


Deutschland
RE: Schleife nach Pop-Up beenden
Das das parallel laufen muss ist mir bewusst.
So, wie ich dich verstanden habe, müsste es dann in etwa so aussehen oder?
   

Oder evtl. noch eine Schleife um den Dialog.

Wenn ich das aber so laufen lasse, zählt der Schleifenzähler nicht hoch und die Schleife macht genau einen Durchlauf.

Ich versteh zwar, woran es liegt und das es parallel laufen muss, aber ich komm grad nicht drauf, wie ich das umsetzen kann, sorry.

Gruß
TDO
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.02.2016, 09:49 (Dieser Beitrag wurde zuletzt bearbeitet: 16.02.2016 09:55 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Schleife nach Pop-Up beenden

Akzeptierte Lösung

Hallo TDO,

nein. THINK DATAFLOW!
So wie im Bild laufen die Dinge NICHT parallel, du hast explizit einen DATAFLOW programmiert!

Nochmal: Wenn Dinge parallel laufen sollen, musst du sie parallel programmieren.
Oder auch: Mittels DATAFLOW per Draht legt man fest, was nacheinander abläuft…

Zitat:Ich versteh zwar, woran es liegt und das es parallel laufen muss, aber ich komm grad nicht drauf, wie ich das umsetzen kann, sorry.
Indem du Arbeitsschleife und Dialog in eigenen, parallel laufenden Strukturen OHNE DATAFLOW-Abhängigkeit laufen lässt. Und eben ein Flag (lokale Variable, globale Variable, Melder, FGV, …) zum Datenaustausch benutzt!

Jetzt mit Bild:
   
Parallel laufende Strukturen ohne DATAFLOW-Abhängigkeit! (Noch nicht 100% korrekt dank RaceCondition…)
Nach >6 Jahren LabVIEW-Nutzung sollte bekannt sein, wie DATAFLOW funktioniert und wie man Dinge parallel laufen lässt: das sind LabVIEW-Grundlagen!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.02.2016, 09:59 (Dieser Beitrag wurde zuletzt bearbeitet: 16.02.2016 10:01 von TDO.)
Beitrag #7

TDO Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 125
Registriert seit: Oct 2013

2016
2009
DE


Deutschland
RE: Schleife nach Pop-Up beenden
Ok, danke für den Hinweis.
Entsteht dadurch aber nicht eine Art Race Condition?
Wodurch ist sichergestellt, dass der boolsche Wert im ersten Schleifendurchlauf false ist?
Am besten wäre es dann den boolschen Wert vorher definiert auf einen Wert zu bringen oder? Sonst macht das Programm ja den ersten Schleifendurchlauf quasi gleichzeitig als die Zuweisung des false Werts oder?

Gruß
TDO

Edit: Mir ist bekannt, wie Dinge parallel laufen können. Einen solchen Fall hatte ich eben bisher noch nicht. In dem Gebiet, in dem ich unterwegs bin, kommt sowas eher selten vor...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  SubVI beenden nach einstellbarer Zeit angry_Nameless 5 3.434 06.05.2022 19:37
Letzter Beitrag: Martin.Henz
  While-Schleife sofort beenden ? RobertRoth 17 10.750 21.10.2019 11:00
Letzter Beitrag: RobertRoth
  Schleife sofort beenden mprocket 9 7.416 19.01.2018 23:26
Letzter Beitrag: mprocket
  While Schleife durchläuft ein zweites mal nach beenden p4tti 5 5.291 15.09.2016 10:34
Letzter Beitrag: jg
  While Schleife mit Mausklick beenden eincremerle 3 3.985 10.11.2015 07:53
Letzter Beitrag: eincremerle
  Absturzmeldung nach Beenden des Programms Tobi Wan Kenobi 6 4.663 10.02.2015 13:43
Letzter Beitrag: Tobi Wan Kenobi

Gehe zu: