Do Schleife in einer UnterGUI lässt sich nicht beenden

  • Hallo!

    Ich bin gerade dabei, meinen RS Manager zu erweitern. Allerdings hängts gerade - wortwörtlich.
    Ich weiss nicht wie ich die Do-Schleife beenden kann.
    Die UnterGUI ist in einer Funktion ausgelagert.

    Spoiler anzeigen
    [autoit]

    Global $exitloop = 0

    [/autoit] [autoit][/autoit] [autoit]

    ;MainGUI - ich spars mir mal ;)

    [/autoit] [autoit][/autoit] [autoit]

    Case $updateGUI_OK
    $exitloop = 1
    _Update_close()
    Case $updateGUI_Abbr
    $exitloop = 1
    _Update_abbr()

    [/autoit] [autoit][/autoit] [autoit]

    ;bla bla andere Funktionen

    [/autoit] [autoit][/autoit] [autoit]

    Func _Update_open()
    GUICtrlSetData($statuslabel,"Updateinstellungen geöffnet...")
    GUICtrlSetData($update_time,IniRead(@ScriptDir & "\userdata.ini", "Data 4all","autoupdate","0"))
    For $z = 1 To UBound($read_accounts)-1
    If IniRead(@ScriptDir&"\userdata.ini","Data "&$read_accounts[$z][0],"autoupdate","aus") = "aus" Then
    GUICtrlSetState($checkbox[$z],$GUI_UNCHECKED)
    Else
    GUICtrlSetState($checkbox[$z],$GUI_CHECKED)
    EndIf
    Next
    GUISetState(@SW_ENABLE, $updateGUI)
    GUISetState(@SW_DISABLE, $mainGUI)
    GUISetState(@SW_SHOW, $updateGUI)
    GUICtrlSetState($updateGUI_OK, $GUI_FOCUS)
    If IniRead(@ScriptDir & "\userdata.ini", "Data 4all","autoupdate","0") <> 0 Then
    $exitloop = 0
    Do
    GUICtrlSetData($countdown,Round(TimerDiff($startTimer)/1000)&" sec.")
    Sleep(1000)
    Until $exitloop = 1
    Else
    GUICtrlSetData($countdown,"")
    EndIf
    EndFunc ; ==> _Update_open()

    [/autoit]
  • Steht doch oben. Beim Drücken vom OK Button in der Update-GUI. Ich habs auch schon mit

    [autoit]

    Do
    ;irgendwas
    Until GUIGetMsg() = $updateGUI_OK

    [/autoit]

    probiert. Klappt alles nicht.