Variable leer warum?

  • [autoit]


    While 1
    $nMsg = GUIGetMsg()

    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button2
    way()
    Case $Button3
    takeopcode()
    EndSwitch
    $bla = "test"
    WEnd

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

    func way()
    EndFunc

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

    func takeopcode()

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

    msgbox(0,"",$bla)
    EndFunc

    [/autoit]

    hi, warum ist die variable $bla in function takeopcode() leer?

    2 Mal editiert, zuletzt von MaZy (16. März 2009 um 23:10)

  • Also, bei mir is die Variable nicht leer.

    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>

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

    $lol = GUICreate("lol",40,25,"500","500",BitOR($WS_DLGFRAME,$WS_POPUP))
    $Button2 = GUICtrlCreateButton("lol",0,0)
    $Button3 = GUICtrlCreateButton("lal",20,0)
    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button2
    way()
    Case $Button3
    takeopcode()
    EndSwitch
    $bla = "bla"
    $blub = "blub"
    WEnd

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

    func way()
    msgbox(0,"",$blub)
    EndFunc

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

    func takeopcode()
    msgbox(0,"",$bla)
    EndFunc

    [/autoit]
  • komisch. Auf einmal bei mir auch. Sonst war msgbox leer :S

  • Mh,
    also beim ersten Durchlauf müsste sie eigentlich leer sein, da die Variable erst nach dem EndSwitch gesetzt wird.
    Setze sie mal vor dem Switchkonstrukt.
    Dann sollte auf alle Fälle es funktionieren

    Spoiler anzeigen
    [autoit]


    While 1
    $nMsg = GUIGetMsg()
    $bla = "bla"
    $blub = "blub"
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button2
    way()
    Case $Button3
    takeopcode()
    EndSwitch

    WEnd

    [/autoit]


    EDIT:
    =====
    Hi,
    ja ich gebe es zu ich habe Plötsinn gepostet und stehe dazu das ich das Script nicht versanden hatte.
    Es ist natürlich egal wo die Variablen deklariert werden. :D
    Funktioniert aber trotzdem :thumbup:

    MfG
    Der_Doc

    Einmal editiert, zuletzt von Der_Doc (17. März 2009 um 16:23)