Hallo Leute
Ich hab ein Problem, ich will eine While Schleife laufen lassen für z.B. eine ProgressBar oderso. Die schleife läuft in eienr Funktion ab. Jetzt soll während das läuft durch ein Abbrechen Button die Funktion bzw. Schleife beendet werden.
Wenn ich jetzt den GUIOnEventMode verwende geb ich eine Funktion _Cancel() an die aufgerufen wird wenn der Button $Cancel gedrückt wird. Aber was kann ich in der Funktion machen um die Schleife oder Funktion zu beenden???
[autoit]
While 1
$GUIMsg = GUIGetMsg()
Switch $GUIMsg
Case $GUI_EVENT_CLOSE ; Schließen
Exit
Case $GUI_EVENT_MINIMIZE ; Minimieren
Minimize()
Case $Start
Opt("GUIOnEventMode", 1)
GUISetOnEvent($GUI_EVENT_CLOSE, "Close")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "Minimize")
GUICtrlSetOnEvent($Cancel, "_Cancel")
If Loop($GUI, $string) Then
MsgBox(0, "Hallo", "...")
EndIf
Case $Cancel
EndSwitch
WEnd
Func Loop($GUI, $string)
While 1
GUICtrlSetData($GUI, $string)
Sleep(100)
;If GUIGetMsg() = $Cancel Then ExitLoop ; Durch die Sleepverzögerung reagiert da Script nicht sofort auf Cancel-Button
WEnd
EndFunc
Func _Cancel()
; Was soll ich hier hin?
EndFunc
Brauche dringend Rat.