@autoitUnicode ERROR: undefined macro

  • Ich bekomme, seit dem update auf 3.3.0.0 bei einem meiner ersten scripte diesen Fehler:

    damals musste ich schon in der dllcallback.au3 etwas ändern:
    https://autoit.de/index.php?page…icode#post56717

    Aber was soll es diesmal sein?

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

    2 Mal editiert, zuletzt von franzp (30. Dezember 2008 um 18:56)

  • einfach @autoitUnicode mit TRUE ersetzen oder die Au3Check-warnungen ignorieren. Das Makro gibt es noch. (aber halt wie lange ;) )
    außerdem braucht man DLLcallback.au3 nicht mehr. es gibt DLLCallbackRegister als Standardfunktion

  • vielen Dank!

    Mit true statt @autoitUnicode funktionierts wieder. Ja ich glaube die UDF Hotstrings.au3 brauch die dllcallback.au3

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

  • Das kannst du ersetzen. Dann brauchst du DLLCallback.au3 nicht mehr ;)

    Dim $pStub_KeyProc = _DllCallBack ("_KeyProc","int;ptr;ptr")
    ==>
    Dim $Stub_KeyProc = DllCallbackRegister("_KeyProc","dword","int;ptr;ptr")
    Dim $pStub_KeyProc = DllCallbackGetPtr($Stub_KeyProc)

    _DllCallBack_Free ($pStub_KeyProc)
    ==>
    DllCallBackFree ($Stub_KeyProc)

  • Das ist zu hoch für mich ;(
    Wo kann ich das austauschen?

    schönes neue Jahr schonmal.. bin vorschlafen :whistling:

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

  • in der hotstrings.au3 kannst du das tauschen ;)

    Spoiler anzeigen
    [autoit]

    ; DLLCallback.au3 entfernt ;)
    #include <Array.au3>

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

    Global Const $WH_KEYBOARD_LL = 13

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

    Dim $hHook
    Dim $Stub_KeyProc = DllCallbackRegister("_KeyProc","dword","int;ptr;ptr")
    Dim $pStub_KeyProc = DllCallbackGetPtr($Stub_KeyProc)
    Dim $hmod = DllCall("kernel32.dll","hwnd","GetModuleHandle","ptr",0)
    Dim $hHook = DllCall("user32.dll","hwnd","SetWindowsHookEx","int", _
    $WH_KEYBOARD_LL,"ptr",$pStub_KeyProc,"hwnd",$hmod[0],"dword",0)
    Dim $buffer = ""

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

    Dim $triggers[1] = [""]
    Dim $functions[1] = [""]

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

    Func HotStringSet($sTrigger,$sFunction)
    if $sTrigger = "" Then
    SetError(1,0,0)
    ElseIf $sFunction = "" Then
    For $i = 1 to UBound($triggers)-1
    If $sTrigger = $triggers[$i] Then
    _ArrayDelete($triggers, $i)
    _ArrayDelete($functions, $i)
    Return 1
    EndIf
    Next
    Else
    _ArrayAdd($triggers,$sTrigger)
    _ArrayAdd($functions,$sFunction)
    Return 1
    EndIf
    EndFunc

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

    Func EvaluateKey($keycode)
    If (($keycode > 64) And ($keycode < 91)) _
    Or (($keycode > 47) And ($keycode < 58)) Then
    $buffer &= Chr($keycode)
    For $i = 1 to UBound($triggers)-1
    If $buffer = $triggers[$i] Then
    Call($functions[$i])
    Return
    EndIf
    Next
    ElseIf ($keycode > 159) And ($keycode < 164) Then
    Return
    Else
    $buffer = ""
    EndIf
    EndFunc

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

    Func _KeyProc($nCode, $wParam, $lParam)
    Local $ret,$KEYHOOKSTRUCT
    If $nCode < 0 Then
    $ret = DllCall("user32.dll","long","CallNextHookEx","hwnd",$hHook[0], _
    "int",$nCode,"ptr",$wParam,"ptr",$lParam)
    Return $ret[0]
    EndIf
    If $wparam = 256 Then
    $KEYHOOKSTRUCT = DllStructCreate("dword;dword;dword;dword;ptr",$lParam)
    EvaluateKey(DllStructGetData($KEYHOOKSTRUCT,1))
    EndIf
    $ret = DllCall("user32.dll","long","CallNextHookEx","hwnd",$hHook[0], _
    "int",$nCode,"ptr",$wParam,"ptr",$lParam)
    Return $ret[0]
    EndFunc

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

    Func OnAutoItExit()
    DllCall("user32.dll","int","UnhookWindowsHookEx","hwnd",$hHook[0])
    DllCallBackFree ($Stub_KeyProc)
    EndFunc

    [/autoit]