Problem FAQ Hook
-
Ich bekomme, wenn ich den Code aus dem Beitrag zum Thema Hook aus den FAQs kompiliere, immer einen Fehler:
... hhkHook = SetWindowsHookEx (WH_KEYBOARD,KeyboardHookProc, hDllInstance, NULL) ; ...[C++ Error] hookdll.cpp(91): E2034 Cannot convert 'long (__stdcall *)(int,unsigned int,long)' to 'int (__stdcall *)()' [C++ Error] hookdll.cpp(91): E2342 Type mismatch in parameter 'lpfn' (wanted 'int (__stdcall *)()', got 'long (__stdcall *)(int,unsigned int,long)')Woran liegt das? Wieso wird hier eine Funktion ohne Parameter erwartet? Mein Comipler ist BCB 6.0!
-
Schau dir mal die beiden Beispiele aus den BCB-FAQ an:
- BCB-FAQ: Tasten - systemweit abfangen (Hooks)
- BCB-FAQ: Mouse - Aktionen systemweit abfangen (MouseHook)
-
Nenene ich möchte reine WinAPI schreiben. Keine VCL und auch keinen Message Map! Das Beispiel in der WinApi-FAQ muss doch funktionieren!?!?
Kann mir keiner sagen warum das konkrete Beispiel dort nicht kompiliert?
-
Hab das Beispiel in der FAQ nicht gefunden... kannst Du den Link mal posten? damit ich mir dem Source mal anschauen kann?
-
http://www.c-plusplus.net/forum/viewforum.php?f=22->http://www.c-plusplus.net/forum/viewtopic-var-t-is-39383.html
-
Also mit VC7.1 lässt sich das problemlos kompilieren...
-
Ok... wenn hier keiner eine Idee hat und die Sache offensichtlich kompilerspezifisch ist, könnte mich vielleicht doch ein Moderator ins BCB Forum verschieben... vielleicht ist das Problem dort ja bekannt!
Offensichtlich hat der Compiler da ja Probleme mit der Parameterisierung...
-
steht da doch du hast long und erwartet wird int

-
Naja nicht ganz... Du solltest schon die ganze Zeile lesen und nicht blos das erste Wort

-
steht da doch du hast long und erwartet wird int

Nein. Er kommt mit den Parametern nicht klar. Ohne Parameter kompiliert er, aber es sollte eigentlich auch mit funktionieren.
Bin ich denn der erste, der das Beispiel mit dem BCB kompiliert?
-
Dieser Thread wurde von Moderator/in flenders aus dem Forum WinAPI in das Forum VCL/CLX (Borland C++ Builder) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Hat hier auch niemand eine Idee?
-
Nun gut, jetzt hab ich's selbst rausgefunden...
BCB braucht:
SetWindowsHookEx (WH_KEYBOARD,(HOOKPROC)KeyboardHookProc, hDllInstance, NULL)Sollte man vielleicht in dem FAQ Beitrag anmerken, bzw korrigieren. Das Casting kann ja nich schaden...