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?
AdlibEnable stört Programmablauf!
-
- [ gelöst ]
-
Faweyr -
6. Februar 2010 um 11:22 -
Geschlossen -
Erledigt
-
-
adlibenable ( in der neuen autoit version adlibregister ) "schiebt" nach ablauf der vorgegebenen Zeit, den Code der Funktion an die Stelle, an der das Programm gerade ist, sodass autoit ( wie immer ) seinen code Zeile für Zeile ausführen kann.
Greez
-
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...
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
[/autoit] [autoit][/autoit] [autoit]
Author: myNameScript Function:
[/autoit] [autoit][/autoit] [autoit]
Template AutoIt script.#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
[/autoit] [autoit][/autoit] [autoit]
Sleep(2000)
ConsoleWrite($a &"-" & $b&@CRLF)WEnd
[/autoit] [autoit][/autoit] [autoit]Func _adlib()
[/autoit]
Local $a = 2, $b = 2
ConsoleWrite($a &"-" & $b&@CRLF)
EndFunc -
Jub, würde auch gehen, dejedoch hab ich keinen Bock das nun so zu ändern
Aber nochmals danke für die Idee
Somit schließ ich den Thread mal, denn es lag an dem, was ich annahm...etz geeehtssss