2. Guifenster lässt sich nicht schließen ??

  • Ich bin mal wieder am Ende meiner Geduld ;o))


    Wenn ich folgenden Code alleine ausführe, dann klappt alles, wie es soll:


    Wenn ich den Code nun aber als Funktion aufrufe, dann schließt sich das 2. Fenster einfach nicht. Ich habe keine Ahnung wo der Fehler steckt:



    Bin wie immer für jeden Tipp dankbar.


    Grüße

    CrazyER

    Einmal editiert, zuletzt von CrazyER (11. November 2009 um 21:12)

  • Natürlich darfst du das :D
    Du hast vergessen bei dem 2. Gui zu schreiben was beim $GUI_EVENT_CLOSE gemacht werden soll

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    ;Opt("GUIOnEventMode", 1)
    $kartenziehen = GUICreate("Neue Karte ziehen", 625, 445, 192, 124)
    $suedstadt = GUICtrlCreateRadio("Südstadt", 104, 40, 121, 25)
    $wohnviertel = GUICtrlCreateRadio("Wohnviertel", 104, 72, 129, 33)
    $ok = GUICtrlCreateButton("Bestätigen", 488, 384, 97, 41, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

    While 1

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

    ;Return $Kartentyp

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

    $msg2 = GUIGetMsg()
    if BitAND(GUICtrlRead($suedstadt), $GUI_CHECKED) = $GUI_CHECKED Then $Kartentyp = "Südstadt"
    if BitAND(GUICtrlRead($wohnviertel), $GUI_CHECKED) = $GUI_CHECKED Then $Kartentyp = "Wohnviertel"
    Select
    Case $msg2 = $ok
    MsgBox(1,"test",$Kartentyp)
    ExitLoop
    Case $msg2 = $GUI_EVENT_CLOSE
    Exit ; das hier <<
    EndSelect
    WEnd
    GUIDelete()

    [/autoit]
  • Nein darfst du nicht !!!
    Du musst dich zwischen dem OnEvent und dem Msg-Mode entscheiden.
    während der OnEvent mode gewählt ist, werden Get..Msg() befehle nicht berücksichtigt und umgekehrt. Das steht auch so in der Hilfe, die ich jedem nur währmstens empfehlen kann. Du kannst während der Laufzeit deines Skriptes die Modi wechseln, aber das ist (oft) recht umständlich.