Ich habe folgendes Problem. Kann sein dass ich gerade einfach nur ein Brett vorm Kopf hab und die Lösung auf der Hand liegt :
Ich habe eine Endlosschleife die per Select auf ein Event wartet. Tritt Event1 ein, so soll Prozedur1 aufgerufen werden. Diese besteht aus einer Repeat-Until X=0 - Schleife und soll durch den Aufruf von Event2(X wird 0 gesetzt) beendet werden. Allerdings stoppt die Prozedur1 ja an der Stelle wo Prozedur1 aufgerufen wurde und wartet bis diese durchlaufen ist. So kann die Schleife nicht darauf reagieren wenn Event2 eintritt welches die Schleife aus Prozedur1 und so Prozedur1 abschließen würde.
Code: Alles auswählen
Global lLoop.l = 0
Repeat
Select EventX
Case Event1
lLoop = 1
Prozedur1() ;Hier bleibt die Schleife stehen und wartet bis Prozedur1 durchlaufen ist und kann nicht mehr auf events reagieren
Case Event2
lLoop = 0
EndSelect
ForEver
Procedure Prozedur1()
Repeat
XXX
Until lLoop = 0
EndProcedure
Danke und Grüße