Schließen funktioniert nicht? o_o

  • Hey Community,
    In einem Skript das ich für meinen Dad geschrieben habe, funktioniert das Schließen nicht. Weder durch das TrayMenü, noch durch $GUI_EVENT_CLOSE.
    Würde mich freuen, wenn ihr mir so schnell wie möglich helfen könntet.
    Hier die Buttonabfrage:

    Spoiler anzeigen
    [autoit]

    TCPStartup ()

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

    $C = TCPConnect (TCPNameToIP("zacharja.dyndns.org"),21000)
    If $C = -1 Then
    MsgBox (48,"Alarm!","Dein Sohn ( ;P ) hat den PC nicht an, oder hat keine Internetverbindung.")
    EndIf
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Opt("TrayMenuMode", 1)
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Alarm!", 202, 122, 330, 266)
    $Label1 = GUICtrlCreateLabel("Willkommen Daddy!", 40, 0, 147, 27)
    GUICtrlSetFont(-1, 12, 400, 0, "Comic Sans MS")
    $Label2 = GUICtrlCreateLabel("Gebe eine Nachricht ein und klicke auf", 8, 32, 189, 17)
    $Label3 = GUICtrlCreateLabel("Senden!", 8, 48, 44, 17)
    $Input1 = GUICtrlCreateInput("", 8, 64, 185, 21)
    $Button1 = GUICtrlCreateButton("Senden!", 104, 88, 89, 25, $WS_GROUP)
    TraySetClick("9")
    $MenuItem1 = TrayCreateItem("Beenden")
    $MenuItem2 = TrayCreateItem("Anzeigen/Verstecken")
    GUISetState(@SW_SHOW)
    $Show = True
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    TCPSend ($C, GUICtrlRead($Input1))
    Do
    $Wait = TCPRecv ($C, 10)
    Until $Wait <> ""
    If $Wait = "OK" Then
    TrayTip ("Alarm!","Nachricht wurde empfangen.", 5)
    GUICtrlSetData ($Input1,"")
    EndIf
    $Wait = ""
    EndSwitch
    $nMsg2 = TrayGetMsg()
    Switch $nMsg2
    Case $MenuItem1
    Exit
    Case $MenuItem2
    _ShowHide()
    EndSwitch
    $Recv = TCPRecv ($C, 9999)
    If $Recv <> "" Then
    MsgBox (0,"Nachricht:",$Recv)
    $Recv = ""
    EndIf
    WEnd

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

    Func _ShowHide()
    If $Show = True Then
    GUISetState (@SW_HIDE)
    $Show = False
    ElseIf $Show = False Then
    GUISetState (@SW_SHOW)
    $Show = True
    EndIf
    EndFunc

    [/autoit]

    Danke im Vorraus.


    EDIT: Geht nach dem letzten Update.
    Aber trotzdem Danke für eure Mühe!

    2 Mal editiert, zuletzt von Zacharja (27. November 2009 um 16:45)

  • 1. Warum postest du nicht das ganze Script? SO kann man doch überhaubt nix ausporbieren oder umschreiben :cursing: Wir haben ja keine Kristrallkugel
    2. Liegt es soweit ich das an diesem Scriptfätzen erkennen kann an

    Do
    $Wait = TCPRecv ($C, 10)
    Until $Wait <> ""

    Da wird die konntrolle der Buttons nicht durchfgeführt, also musst du entweder GuiSetOnEvent benutzen oder in die schleife auch noch eine Buttonabfrage einbauen

    mfg. Jam00

    • Offizieller Beitrag

    Poste mal das komplette Script, dann kann man dir auch sagen wo der Fehler liegt.

  • Jop, okay, Sorry. Komplettes Skript im ersten Post.
    Habe auch etwas geändert, und mein Vater erhält was in dem Do-Loop und deshalb kann's nicht daran liegen.