AdlibRegister Problem

  • Kann mir jemand bei folgendem Problem helfen?

    Spoiler anzeigen
    [autoit]

    AdlibRegister("MyAdlib", 1)
    ToolTip("Noch nicht gestartet")
    Sleep(1000)
    MsgBox(0, "=", "1")
    If $a = 0 Then
    ToolTip("Gestartet")
    EndIf
    AdlibUnRegister("MyAdlib")
    Sleep(1000)
    Exit

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

    Func MyAdlib()
    If WinActive("=") Then
    $a = 1
    EndIf
    EndFunc

    [/autoit]

    Problem:
    Es kommt immer die Meldung: Error: Variable used without being declared.

  • Da du $a weiter verwendest musst du die Variable Global deklarieren.

    [autoit]

    Global $a

    [/autoit]

    Oder mit Return aus der Funktion wieder zurück geben

  • Hallo Skriptbär,

    schwer zu erkennen was du bezwecken willst, aber versuch es einmal so:

    [autoit]

    Global $a =0

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

    HotKeySet("{Esc}","captureEsc")
    AdlibRegister("MyAdlib", 2000)
    ToolTip("Noch nicht gestartet")
    Sleep(1000)
    MsgBox(0, "=", "1")

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

    While 1
    Sleep(1000)
    WEnd

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

    Func MyAdlib()
    If $a = 0 Then
    ToolTip("Wird Gestartet")
    $a = 1
    Else
    ToolTip("Ist bereits Gestartet")
    EndIf
    EndFunc ;==>MyAdlib

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

    Func captureEsc()
    AdlibUnRegister("MyAdlib")
    ToolTip("wieder beendet")
    Sleep(1000)
    Exit
    EndFunc ;==>MyAdlibUnregister

    [/autoit]

    mfg (Auto)Bert