Guten Abend,
ich bin (wie in meinem anderen Thread schon erwähnt) dabei ein kleines Applet für den Bildschirm meiner Tastatur zu schreiben. Dazu habe ich mir der Einfachheit halber "AdvanceLCD" [KLICK MICH] runtergeladen und mir mal die Dokumentation sowie ein paar C-Beispiele angeschaut. Alles funktioniert prächtig bis auf die Funktion "LcdSetEventHandler". Die brauche ich, damit mein Script eine Funktion ausführt, wenn eine Taste gedrückt wurde.
So sieht die Funktion zur Zeit aus:
[autoit]; $hApplet: Handle des Applets
; $EventHandler: Name der Funktion, die ausgeführt werden soll
; $hContext: Keine Ahnung, im C-Beispiel aber auch 0
Func LcdSetEventHandler($hApplet, $EventHandler, $hContext = 0)
$callback = DllCallbackRegister($EventHandler, "int", "int;ptr;int")
$ret = DllCall($dll, "int", "LcdSetEventHandler", "ptr", $hApplet, "ptr", DllCallbackGetPtr($callback), "ptr", $hContext)
DllCallbackFree($callback)
Return $ret[0]
EndFunc ;==>LcdSetEventHandler
Der Aufruf sieht so aus:
[autoit]LcdSetEventHandler($hApplet, "Callback", 0)
[/autoit][autoit][/autoit][autoit]Func Callback($iEvent, $hContext, $iData)
MsgBox(0, "Hurra", "Es funktioniert :)")
Return 1
EndFunc ;==>Callback
Sobald ich auf meiner Tastatur das Applet aufrufe stürzt das Skript einfach ab. Ohne Fehlermeldung, einfach nur "AutoIt funktioniert nicht mehr und muss beendet werden bla bla bla.".
Ich bastel an dieser Stelle nun schon ne halbe Ewigkeit, bekomme es aber einfach nicht hin
Ich hoffe ihr könnt mir hier weiterhelfen.
Vielen Dank im Vorraus,
Carsten
PS: Solltet ihr noch was brauchen, Teile des Codes oder sonst was, sagt bitte bescheid.