AdlibEnable stört Programmablauf!

  • Ich sitze schon seit über 5 Stunden an meinem 3000 Zeilen Script und suche einen Fehler, der immer auftritt wenn "AdlibEnable" aktiviert ist, der Fehler der dabei dann kommt: -1073741819 . Jemand sagte mir das das Dll-Fehler sein könnte... Tatsächlich werden in meinem Script oft Dll-Calle getätigt... kann es sein, das dabei "AdlibEnable" dabei dazwischen Funkt...
    Kann mir jemand sagen, wie die "AdlibEnable"-Funktion ausgeführt wird, also ob das Script sozusagen gestoppt wird, dann die Funktion ausgeführt wird und dann wieder auf "Play" gedrückt wird?

    Einmal editiert, zuletzt von Faweyr (6. Februar 2010 um 11:46)

  • Jub, das ergibt Sinn...
    Da ich die Prospeed.dll benutze...wenn ich nun einen Befehl ausführe...der bearbeitet wird...und dabei eine andere Funktion dazwischen geschoben wird...und diese die gleichen Variablen benutzt wie die davorige...und dann der alt Befehl weiterausgeführt wird, jedoch mit falschen Variablen dann kommst woll zu einem Fehler :)
    Lösung: Ich beende vor den Prospeed-Funktionen die AdlibFunktion einfach...und starte sie danach wieder...das sollte helfen... 8)
    Danke

  • machs doch einfach so dass du in deiner adlibfunktion die variablen mit local vorher deklarierst und am anfang des skriptes die benutzten variablen als global deklarierst...dann dürfte es auch gehen

    beispiel:

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.4.0
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    Global $a = 1, $b = 1

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

    AdlibRegister("_adlib", 2000)

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

    While 1
    Sleep(2000)
    ConsoleWrite($a &"-" & $b&@CRLF)

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

    WEnd

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

    Func _adlib()
    Local $a = 2, $b = 2
    ConsoleWrite($a &"-" & $b&@CRLF)
    EndFunc

    [/autoit]
  • Jub, würde auch gehen, dejedoch hab ich keinen Bock das nun so zu ändern :D
    Aber nochmals danke für die Idee :thumbup:
    Somit schließ ich den Thread mal, denn es lag an dem, was ich annahm...etz geeehtssss :rock: