Hi
ich habe folgendes Konstrukt(gekürzt):
Delphi-Quellcode:
TTastaturStatistik = class(TObject)
//Tastatur
private
FOverAll: Int64;
HookHandle: Cardinal;
//Set-Methoden
procedure SetKeyHits(New: Int64);
//Hook
procedure Hook;
procedure UnHook;
public
constructor Create;
destructor Destroy;
//Propertys
property KeyHits:Int64 read FOverAll write SetKeyHits;
end;
implementation
procedure TTastaturStatistik.Hook;
//Hook aktivieren
begin
HookHandle := SetWindowsHookEx(WH_KEYBOARD_LL, LLKeyboardHookProc, hInstance, 0); //HIER 2
if HookHandle = 0 then RaiseLastOSError;
end;
procedure TTastaturStatistik.UnHook;
//Hook deaktivieren
begin
if HookHandle <> 0 then
begin
UnhookWindowsHookEx(HookHandle);
HookHandle := 0;
end;
end;
function LLKeyboardHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
//Wenn Taste gedrückt wird
begin
if nCode = HC_ACTION then //lParam ist richtiger Typ
Inc(FOverAll); //HIER 1
Result := CallNextHookEx(HookHandle, nCode, wParam, lParam);
end;
nur das geht ja nicht (HIER 1), da ich so FOverAll ja nicht ansprechen kann
wenn ich allerdings LLKeyboardHookProc als Private der Klasse deklariere, dann kommt bei HIER 2 der Fehler das LLKeyboardHookProc eine reguläre Procedure und kein Methodenzeiger sei...
hat irgendwer eine Lösung für mich?
Edit: DUDEN, hilf mir
der Code ist übrigens im wesentlichen von Flocke...