Erweiterbare GUI Fehler ;(

  • Hallo,

    ich habe das Problem, dass dieses Skript, wo ich versuche meine GUI zu erweitern, also wenn neuer Button gedrückt wird, wird die GUI automatisch Höher und es wird ein neuer Button gesetzt, nicht läuft, da es eine Fehlermeldung gibt.

    Kann mir da mal bitte jemand helfen?

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    $GUIHeight = 40
    $ButtonTop = 256
    $MainGUI = GUICreate("Form1", 615,$GUIHeight,192,124)
    $s = 1
    $NeuerButton[$s] = GUICtrlCreateButton("NeuerButton", $ButtonTop, 8, 75, 25)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $NeuerButton
    $s += 1
    $ButtonTop += 30
    $GUIHeight += 50
    WinMove($MainGUI,"",192,124,615,$GUIHeight)
    $NeuerButton[$s] = GUICtrlCreateButton("NeuerButton", $ButtonTop, 8, 75, 25)
    EndSwitch
    WEnd

    [/autoit]

    MfG, Julien

  • Der Fehler tritt auf, weil du versuchst, etwas in ein Element eines Arrays zu schreiben, was nicht existiert.
    Wenn du oben

    [autoit]

    Dim $NeuerButton[2] = [0,0]

    [/autoit]

    ergänzt, müsste es gehen.

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

    • Offizieller Beitrag

    Ich hatte eben Langeweile und hab was zusammengeschraubt.

    Spoiler anzeigen
    [autoit]

    #region - Timestamp
    ; 2012-03-04 09:34:27
    #endregion - Timestamp

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

    Global $NeuerButton[1]
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    $GUIHeight = 50
    $ButtonTop = 256
    $ButtonHeight = 8
    $MainGUI = GUICreate("Form1", 615, $GUIHeight, 192, 124)
    $s = 0
    $NeuerButton[$s] = GUICtrlCreateButton("NeuerButton", $ButtonTop, $ButtonHeight, 75, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKALL)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $NeuerButton[0] To $NeuerButton[UBound($NeuerButton) - 1]
    $s += 1
    $ButtonHeight += 30
    $GUIHeight += 30
    WinMove($MainGUI, "", 192, 124, 615, $GUIHeight + 21)
    ReDim $NeuerButton[UBound($NeuerButton) + 1]
    $NeuerButton[$s] = GUICtrlCreateButton("NeuerButton", $ButtonTop, $ButtonHeight, 75, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKALL)

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

    EndSwitch
    WEnd

    [/autoit]