Noch nicht erstellten Button mit Funktion belegen :X

  • Moin,
    habe mich jetzt einen Tag eingearbeitet und stoße wieder auf ein Problem. Ich habe ein HauptGUI welches bei start erstellt wird. Wenn man dann auf "Über" klickt (Button) wird ein neues 2. GUI geöffnet, welches einen Button beinhaltet. Jedoch wenn ich

    [autoit]

    case $popupweg GUISetState(@SW_HIDE, $aboutgui)

    [/autoit]

    einbaue, bekomm ich den Error:

    Zitat

    C:\autoit\modtool.au3 (79) : ==> Variable used without being declared.:

    Also:

    [autoit]

    While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $Button2 exit case $Button1 aktion_newsaktualisieren() case $Button3 <-----------hier wird das 2. gui erst erstellt popupanzeigen() case $popupweg <---------------Übeltäter GUISetState(@SW_HIDE, $aboutgui) Case $GUI_EVENT_CLOSE Exit EndSwitchWEnd

    [/autoit][autoit]

    Func popupanzeigen() #Region ### START Koda GUI section ### Form=C:\autoit\aboutpopup.kxf $aboutgui = GUICreate("About", 323, 250, 254, 176) GUISetIcon("D:\006.ico") $GroupBox1 = GUICtrlCreateGroup("", 8, 8, 305, 185) $Label1 = GUICtrlCreateLabel("postnukewasteland.de ModTool", 16, 24, 156, 17, $WS_GROUP) $Label2 = GUICtrlCreateLabel("Version: 0.1 pre Alpha", 16, 48, 108, 17, $WS_GROUP) $Label3 = GUICtrlCreateLabel("Copyright: Christopher Fischer, http://www.postnukewasteland.de", 16, 72, 284, 17, $WS_GROUP) GUICtrlCreateGroup("", -99, -99, 1, 1) $popupweg = GUICtrlCreateButton("&Schließen", 112, 208, 75, 25) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ###EndFunc

    [/autoit]

    Hoffe ihr versteht was ich meine.

    Einmal editiert, zuletzt von Fischer (18. Juli 2011 um 19:58) aus folgendem Grund: gelöst

  • oh, mist^^
    soweit habe ich garnicht gedacht :D
    ich sag gleich obs klappt

    //edit
    ok es geht, dickes danke (mal wieder)
    hoffe ich brauch bald nicht mehr so viel hilfe :thumbup:

  • Benutz bitte einen anderen Browser damit der Quelltext richtig formatiert in deinem Posting landet. So kann das keiner lesen und es wird auch kaum einer Lust haben das wieder in lesbare Form umzuwandeln.

    Nun zu deiner Frage:

    Soweit ich dich verstanden habe liegt dein Problem darin, dass du in der GUI Schleife GUI Variablen einer GUI benutzt die du noch garnicht erstellt hast bzw nur dann erstellst wenn ein bestimmter Button gedrückt wird.
    Die einzig sinnvolle Lösung für dein Problem ist es die GUI von anfang an zu erstellen, aber nicht sichtbar zu machen. Sichtbar machst du diese dann nur beim Button Klick für die Anzeige und blendest diese GUI dann auch wieder aus wenn man die Anzeige wegklickt.

    Die sichtbarkeit bzw. unsichtbarkeit regelt man so:


    [autoit]


    $maingui = guicreate(...)
    $aboutgui = guicreate(...)
    guisetstate(@SW_SHOW,$maingui)
    guisetstate(@SW_HIDE,$aboutgui)

    [/autoit]

    EDIT: Mal wieder zu langsam...