Script funktioniert nach AutoIt Update nicht mehr

  • Hallo zusammen,

    kann es sein, dass nach einem Versionswechsel von Autoit, mein Script nicht mehr funktioniert ?

    Denn der folgende Fehler tritt auf ----> ERROR: AdlibEnable(): undefined function. AdlibEnable("_UpdateTime", 1000)

    Eine in einer ältere AutoIt Version kompilierte Version dieses - genau diese Scripts läuft mit diesem Code.

    Weiss event. jemand wodurch der Fehler erzeugt wird - ?andere/fehlende Includes ? Schreibweise der _Func ....


    Danke schon einmal
    Chris

    Spoiler anzeigen


    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=triathlon.ico
    #AutoIt3Wrapper_outfile=TIMER_WI_NEW2.exe
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Res_File_Add=2009-11-04 15 16 33.jpg
    #include <GUIConstantsEx.au3>
    #include <GUIStatusBar.au3>
    #include <GUIConstants.au3>

    #include <StaticConstants.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <Date.au3>
    #include <IE.au3>
    #include <WindowsConstants.au3>

    Local $aParts[3] = [100, 220, 300]

    #Region ### START Koda GUI section ### Form=g:\autoit\install\koda\forms\countdownwi3.kxf
    $Wi703 = GUICreate("Countdown 70.3 Wiesbaden 2010", 313, 245, 187, 128)
    GUISetIcon(@ScriptDir & "\triathlon.ico")
    GUISetBkColor(0xF9DBDB)
    $IronmenPic = GUICtrlCreatePic(@ScriptDir & "\2009-11-04 15 16 33.jpg", 0,15, 311, 180, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))

    $Desc1 = GUICtrlCreateLabel("1.9 k Swim - 90 k Bike - 21.1 k Run", 5, 165, 300, 28, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    GUICtrlSetFont(-1, 11, 800, 0, "MS Sans Serif")
    GUICtrlSetBKColor(-1,$GUI_BKCOLOR_TRANSPARENT)

    $Timer = GUICtrlCreateLabel("TIMER", 5, 10, 300, 25, BitOR($SS_CENTER, $SS_SUNKEN, $SS_CENTERIMAGE))
    GUICtrlSetFont(-1, 9.5, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0xE2E2F9)

    $Abbruch = GUICtrlCreateLabel("(Abbrechen: ESC)", 110, 205, 90, 17)
    GUICtrlSetBKColor(-1,$GUI_BKCOLOR_TRANSPARENT)

    $hStatus = _GUICtrlStatusBar_Create ($Wi703)
    _GUICtrlStatusBar_SetParts ($hStatus, $aParts)

    $TM = _GUICtrlStatusBar_SetText($hStatus, " - CDE - 2009 -",1)
    $Datum = _GUICtrlStatusBar_SetText($hStatus, " " & @MDAY & "." & @MON & "." & @YEAR, 0)
    $Zeit = _GUICtrlStatusBar_SetText($hStatus, " " & @HOUR & ":" & @MIN & ":" & @SEC, 3)

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###


    WinSetOnTop("Countdown 70.3 Wiesbaden 2010", "", 1)

    $bStop = False
    HotKeySet('{ESC}', '_Stop')
    HotKeySet('!{F4}', '_Stop')

    AdlibEnable("_UpdateTime", 1000)

    Do
    $nMsg = GUIGetMsg()
    If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit

    $iDiff = _DateDiff('s', '2010/08/15 08:00:00', _NowCalc())
    GUICtrlSetData($Timer, _SecondsToDateTime($iDiff))
    Sleep(500)

    If $nMsg() = $GUI_EVENT_CLOSE Then Exit

    Until GUIGetMsg() = -3 OR $bStop
    Exit


    Func _UpdateTime()
    _GUICtrlStatusBar_SetText($hStatus, " " & @HOUR & ":" & @MIN & ":" & @SEC, 2)
    EndFunc ;==>_UpdateTime


    Func _Stop()
    $bStop = True
    EndFunc ;==>_Stop


    ;===============================================================================
    ; Function Name..: _SecondsToDateTime($iSeconds[, $iLang])
    ; Description....: Umwandlung von Sekunden in einen String mit Zeitangaben
    ; Parameter(s)...: $iSeconds = Wert in Sekunden
    ; $iLang
    ; 0 = Ausgabe in deutsch
    ; 1 = Ausgabe in englisch
    ; Return Value...: String (Wochen, Tage, Stunden, Minuten, Sekunden)
    ;===============================================================================
    Func _SecondsToDateTime($iSeconds, $iLang = 1)
    If $iLang < 0 Or $iLang > 1 Then $iLang = 0
    Local $sOut = '', $bCheck = False, $bNegative = False, $aDiv[4] = [86400, 3600, 60, 1]
    ;~ Local $sOut = '', $bCheck = False, $bNegative = False, $aDiv[5] = [604800, 86400, 3600, 60, 1]

    Local $aFormat[4][2] = [['Tage', 'Days'],['Stunden', 'Hours'],['Minuten', 'Minutes'],['Sekunden', 'Seconds']]
    ;~ Local $aFormat[5][2] = [['Wochen', 'Weeks'],['Tage', 'Days'],['Stunden', 'Hours'],['Minuten', 'Minutes'],['Sekunden', 'Seconds']]
    If $iSeconds = 0 Then Return '0 ' & $aFormat[3][$iLang]
    ;~ If $iSeconds = 0 Then Return '0 ' & $aFormat[4][$iLang]
    If $iSeconds < 0 Then
    $bNegative = True
    $iSeconds = Abs($iSeconds)
    EndIf
    For $i = 0 To 3
    ;~ For $i = 0 To 4
    If ($iSeconds >= $aDiv[$i]) Or $bCheck Then
    $sOut &= Int($iSeconds / $aDiv[$i]) & ' '
    If Int($iSeconds / $aDiv[$i]) = 1 Then
    $sOut &= StringTrimRight($aFormat[$i][$iLang], 1) & ', '
    Else
    $sOut &= $aFormat[$i][$iLang] & ', '
    EndIf
    $bCheck = True
    EndIf
    $iSeconds = Mod($iSeconds, $aDiv[$i])
    Next
    ;~ If $bNegative Then $sOut = ' - ' & $sOut
    If $bNegative Then $sOut = '' & $sOut

    Return StringTrimRight($sOut, 2)
    EndFunc ;==>_SecondsToDateTime

    Einmal editiert, zuletzt von ugt100 (20. Februar 2010 um 11:59)

    • Offizieller Beitrag
    Spoiler anzeigen
    [autoit]


    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=triathlon.ico
    #AutoIt3Wrapper_outfile=TIMER_WI_NEW2.exe
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Res_File_Add=2009-11-04 15 16 33.jpg
    #include <GUIConstantsEx.au3>
    #include <GUIStatusBar.au3>
    #include <GUIConstants.au3>

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

    #include <StaticConstants.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <Date.au3>
    #include <IE.au3>
    #include <WindowsConstants.au3>

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

    Local $aParts[3] = [100, 220, 300]

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

    #Region ### START Koda GUI section ### Form=g:\autoit\install\koda\forms\countdownwi3.kxf
    $Wi703 = GUICreate("Countdown 70.3 Wiesbaden 2010", 313, 245, 187, 128)
    GUISetIcon(@ScriptDir & "\triathlon.ico")
    GUISetBkColor(0xF9DBDB)
    $IronmenPic = GUICtrlCreatePic(@ScriptDir & "\2009-11-04 15 16 33.jpg", 0,15, 311, 180, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))

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

    $Desc1 = GUICtrlCreateLabel("1.9 k Swim - 90 k Bike - 21.1 k Run", 5, 165, 300, 28, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    GUICtrlSetFont(-1, 11, 800, 0, "MS Sans Serif")
    GUICtrlSetBKColor(-1,$GUI_BKCOLOR_TRANSPARENT)

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

    $Timer = GUICtrlCreateLabel("TIMER", 5, 10, 300, 25, BitOR($SS_CENTER, $SS_SUNKEN, $SS_CENTERIMAGE))
    GUICtrlSetFont(-1, 9.5, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0xE2E2F9)

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

    $Abbruch = GUICtrlCreateLabel("(Abbrechen: ESC)", 110, 205, 90, 17)
    GUICtrlSetBKColor(-1,$GUI_BKCOLOR_TRANSPARENT)

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

    $hStatus = _GUICtrlStatusBar_Create ($Wi703)
    _GUICtrlStatusBar_SetParts ($hStatus, $aParts)

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

    $TM = _GUICtrlStatusBar_SetText($hStatus, " - CDE - 2009 -",1)
    $Datum = _GUICtrlStatusBar_SetText($hStatus, " " & @MDAY & "." & @MON & "." & @YEAR, 0)
    $Zeit = _GUICtrlStatusBar_SetText($hStatus, " " & @HOUR & ":" & @MIN & ":" & @SEC, 3)

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    WinSetOnTop("Countdown 70.3 Wiesbaden 2010", "", 1)

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

    $bStop = False
    HotKeySet('{ESC}', '_Stop')
    HotKeySet('!{F4}', '_Stop')

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

    AdlibRegister("_UpdateTime", 1000)

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

    Do
    $nMsg = GUIGetMsg()
    If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit

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

    $iDiff = _DateDiff('s', '2010/08/15 08:00:00', _NowCalc())
    GUICtrlSetData($Timer, _SecondsToDateTime($iDiff))
    Sleep(500)

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

    If $nMsg() = $GUI_EVENT_CLOSE Then Exit

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

    Until GUIGetMsg() = -3 OR $bStop
    Exit

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

    Func _UpdateTime()
    _GUICtrlStatusBar_SetText($hStatus, " " & @HOUR & ":" & @MIN & ":" & @SEC, 2)
    EndFunc ;==>_UpdateTime

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

    Func _Stop()
    $bStop = True
    EndFunc ;==>_Stop

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

    ;===============================================================================
    ; Function Name..: _SecondsToDateTime($iSeconds[, $iLang])
    ; Description....: Umwandlung von Sekunden in einen String mit Zeitangaben
    ; Parameter(s)...: $iSeconds = Wert in Sekunden
    ; $iLang
    ; 0 = Ausgabe in deutsch
    ; 1 = Ausgabe in englisch
    ; Return Value...: String (Wochen, Tage, Stunden, Minuten, Sekunden)
    ;===============================================================================
    Func _SecondsToDateTime($iSeconds, $iLang = 1)
    If $iLang < 0 Or $iLang > 1 Then $iLang = 0
    Local $sOut = '', $bCheck = False, $bNegative = False, $aDiv[4] = [86400, 3600, 60, 1]
    ;~ Local $sOut = '', $bCheck = False, $bNegative = False, $aDiv[5] = [604800, 86400, 3600, 60, 1]

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

    Local $aFormat[4][2] = [['Tage', 'Days'],['Stunden', 'Hours'],['Minuten', 'Minutes'],['Sekunden', 'Seconds']]
    ;~ Local $aFormat[5][2] = [['Wochen', 'Weeks'],['Tage', 'Days'],['Stunden', 'Hours'],['Minuten', 'Minutes'],['Sekunden', 'Seconds']]
    If $iSeconds = 0 Then Return '0 ' & $aFormat[3][$iLang]
    ;~ If $iSeconds = 0 Then Return '0 ' & $aFormat[4][$iLang]
    If $iSeconds < 0 Then
    $bNegative = True
    $iSeconds = Abs($iSeconds)
    EndIf
    For $i = 0 To 3
    ;~ For $i = 0 To 4
    If ($iSeconds >= $aDiv[$i]) Or $bCheck Then
    $sOut &= Int($iSeconds / $aDiv[$i]) & ' '
    If Int($iSeconds / $aDiv[$i]) = 1 Then
    $sOut &= StringTrimRight($aFormat[$i][$iLang], 1) & ', '
    Else
    $sOut &= $aFormat[$i][$iLang] & ', '
    EndIf
    $bCheck = True
    EndIf
    $iSeconds = Mod($iSeconds, $aDiv[$i])
    Next
    ;~ If $bNegative Then $sOut = ' - ' & $sOut
    If $bNegative Then $sOut = '' & $sOut

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

    Return StringTrimRight($sOut, 2)
    EndFunc ;==>_SecondsToDateTime

    [/autoit]

    AdlibEnable gibt es nicht mehr, das wurd durch AdlibRegister ersetzt. Ließ dir mal Script Breaking Changes durch.
    http://www.autoitscript.com/autoit3/docs/s…ing_changes.htm