Variable used without declared ... !

  • Moin,

    nach langer Zeit arbeite ich mal wieder mit AutoIt und die Problemstellung ist eigentlich ganz einfach. Habe mir ein NAS gebaut, das auch perfekt läuft. Aus Stromspargründen schaltet es sich nach 30 Minuten ohne Zugriff ab. Ich möchte mittels eines kleines Scripts prüfen, ob das NAS da ist .. dazu pinge ich die NAS-IP einfach mal an :) Als Rückmeldung soll AutoIt ein kleines Fenster öffnen, je nachdem ob das NAS vorhanden ist oder nicht. Wenn nicht, startet das Wake-on-LAN-Programm und startet den Server. Eigentlich eine recht simple Sache .... ;)

    Ist das NAS da, erscheint auch das Fenster .... wenn das NAS nicht erreicht wird, bekomme ich immer den Fehler "Line 687: Variable used without declared ... " .... wahrscheinlich sehe ich den Wald nur vor lauter Bäumen nicht?! :)

    [autoit]

    $var = Ping("10.1.1.2",250)
    If $var Then

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

    #include
    #include
    #include
    #Region ### START Koda GUI section ### Form=
    $Form1_1 = GUICreate("Netzwerkcheck", 507, 248, 402, 14)
    GUISetBkColor(0x008000)
    $Label1 = GUICtrlCreateLabel("Das Netzwerk ist vorhanden!", 108, 8, 290, 25, $SS_CENTER)
    GUICtrlSetFont(-1, 14, 800, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFE1)
    $Pic1 = GUICtrlCreatePic("Netzwerk.jpg", 84, 48, 338, 149)
    $Label2 = GUICtrlCreateLabel("Die Netzlaufwerke Y: und Z: sind einsatzbereit", 29, 208, 449, 24, $SS_CENTER)
    GUICtrlSetFont(-1, 14, 800, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFE1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    sleep (5000)

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

    Else
    Run ("wolcmd.exe 0025227a8256 10.1.1.2 255.255.255.0 7")
    #include
    #include
    #include
    #Region ### START Koda GUI section ### Form=
    $Form1_1 = GUICreate("Netzwerkcheck", 523, 272, 419, 15)
    GUISetBkColor(0x800000)
    $Label1 = GUICtrlCreateLabel("Das Netzwerk ist nicht vorhanden!", 84, 8, 354, 25, $SS_CENTER)
    GUICtrlSetFont(-1, 14, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetBkColor(-1, 0xFFFFE1)
    $Pic1 = GUICtrlCreatePic("Netzwerk_2.jpg", 92, 48, 338, 149)
    $Label2 = GUICtrlCreateLabel("Die Netzlaufwerke Y: und Z: sind in ca. 2 Minuten einsatzbereit", 11, 232, 500, 24, $SS_CENTER)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetBkColor(-1, 0xFFFFE1)
    $Label3 = GUICtrlCreateLabel("Es wird nun gestartet ... einen Moment Geduld!", 37, 200, 449, 24, $SS_CENTER)
    GUICtrlSetFont(-1, 14, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetBkColor(-1, 0xFFFFE1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    sleep (5000)
    EndIf

    [/autoit]

    Die jpg und exe-Dateien sind natürlich im selben Verzeichnis.

    Wäre dankbar für einen Tipp :)

    defcon999

    Einmal editiert, zuletzt von defcon999 (15. Dezember 2013 um 18:01)

  • Die Includes kommen immer an den Skriptanfang. ^^

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    $var = Ping("10.1.1.2", 250)
    If $var Then
    #region ### START Koda GUI section ### Form=
    $Form1_1 = GUICreate("Netzwerkcheck", 507, 248, 402, 14)
    GUISetBkColor(0x008000)
    $Label1 = GUICtrlCreateLabel("Das Netzwerk ist vorhanden!", 108, 8, 290, 25, $SS_CENTER)
    GUICtrlSetFont(-1, 14, 800, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFE1)
    $Pic1 = GUICtrlCreatePic("Netzwerk.jpg", 84, 48, 338, 149)
    $Label2 = GUICtrlCreateLabel("Die Netzlaufwerke Y: und Z: sind einsatzbereit", 29, 208, 449, 24, $SS_CENTER)
    GUICtrlSetFont(-1, 14, 800, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFE1)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###
    Sleep(5000)
    Else
    Run("wolcmd.exe 0025227a8256 10.1.1.2 255.255.255.0 7")
    #region ### START Koda GUI section ### Form=
    $Form1_1 = GUICreate("Netzwerkcheck", 523, 272, 419, 15)
    GUISetBkColor(0x800000)
    $Label1 = GUICtrlCreateLabel("Das Netzwerk ist nicht vorhanden!", 84, 8, 354, 25, $SS_CENTER)
    GUICtrlSetFont(-1, 14, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetBkColor(-1, 0xFFFFE1)
    $Pic1 = GUICtrlCreatePic("Netzwerk_2.jpg", 92, 48, 338, 149)
    $Label2 = GUICtrlCreateLabel("Die Netzlaufwerke Y: und Z: sind in ca. 2 Minuten einsatzbereit", 11, 232, 500, 24, $SS_CENTER)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetBkColor(-1, 0xFFFFE1)
    $Label3 = GUICtrlCreateLabel("Es wird nun gestartet ... einen Moment Geduld!", 37, 200, 449, 24, $SS_CENTER)
    GUICtrlSetFont(-1, 14, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetBkColor(-1, 0xFFFFE1)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###
    Sleep(5000)

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

    EndIf

    [/autoit]

    So sollte es gehen.

    lg