Do ---> Until ???

  • Warum funktioniert diese Funktion nicht?
    Kann mir einer helfen?


    func Dialog_1()




    $Dialog_1 = GUICreate("Sind sie sich Sicher?",366,117)
    $Dialog_1_Button_1 = GUICtrlCreateButton("Ja",58,88,64,23)
    $Dialog_1_Button_2 = GUICtrlCreateButton("Nein",238,88,64,23)
    GUISetState()




    Do

    $dialog_msg = GUIGetMsg()


    Until $dialog_msg = $Dialog_1_Button_1
    Exit


    Do




    Until $dialog_msg = $Dialog_1_Button_2


    GUISetState(@SW_ENABLE, $MainGUI)
    GUIDelete($Dialog_1)




    EndFunc

  • Hi,
    der hängt sich am ersten Button auf, er wartet solange, bis der 1. Btton gedrückt Wurde, vorher macht er nicht weiter, also kann auch nix passieren, wenn der 2. Button gedrückt wurde.

  • Ist das der ganze Code weil sry bin noch nicht so gut in Autoit aber möchte dir trozdem gerne helfen

  • sollte ungefähr so sein:


    #include <GuiConstants.au3>


    $MainGUI = GUICreate("Test",500,500)


    $1 = GUICtrlCreateButton("HIII",1,1)


    GUISetState(@SW_SHOW)


    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $gui_event_close
    GUISetState(@SW_DISABLE, $MainGUI)
    Dialog_1()
    Exit

    Case $msg = $1
    GUISetState(@SW_DISABLE, $MainGUI)
    Dialog_1()

    EndSelect
    WEnd


    func Dialog_1()




    $Dialog_1 = GUICreate("Sind sie sich Sicher?",366,117)
    $Dialog_1_Button_1 = GUICtrlCreateButton("Ja",58,88,64,23)
    $Dialog_1_Button_2 = GUICtrlCreateButton("Nein",238,88,64,23)
    GUISetState()




    Do

    $dialog_msg = GUIGetMsg()


    Until $dialog_msg = $Dialog_1_Button_1
    Exit


    Do




    Until $dialog_msg = $Dialog_1_Button_2


    GUISetState(@SW_ENABLE, $MainGUI)
    GUIDelete($Dialog_1)




    EndFunc

  • Das is eine total zusammengeknaupte Lösung, und keine schöne.
    Aber ich bin zu müde um jetzt noch irgednwas zu basteln.
    Um alle Schleifen zu druchlaufen, wird ungefähr 1 sekunde vergehen, d.h. er reagiert nicht direkt auf das klicken.


  • Falscher Ansatz


    2 GUI erstellen, mit GUIGetMsg(1) werden GUI und Event zurückgegeben.