Servus,
ich habe ein ähnliches Problem wie - HIER -, werde aber nicht ganz schlau aus den Lösungsansätzen.
Ich habe folgendes Problem, ich habe eine normale GUI Schleife dieser Art:
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $cmdStart
auswerten()
EndSwitch
WEnd
Nun startet eine Funktion die etwas Rechenzeit in Anspruch nimmt. Diese würde ich gerne durch einen erneuten Druck auf diesen Button abbrechen lassen.
[autoit]Func auswerten()
GUICtrlSetData($cmdStart, "Abbrechen...")
While 1
If GUIGetMsg() = $cmdStart Then
Msgbox(48, "Fehler", "Vorgang abgebrochen")
Return
EndIf
; Ganz viel machen...
WEnd
EndFunc
Das Problem ist, dass GUIGetMsg() auf eine Benutzereingabe wartet und so die Schleife nicht abgearbeitet wird. Aus dem OnEvent -Mode werde ich nicht schlau, zumal nach der Option die GUI in der jetzigen Form gar nicht mehr reagiert. Hat jemand ne Idee wie ich das lösen kann?
MMM