![]() |
Low-Level Hook bringt Delphi-IDE beim debuggen zum Abstürzen
Ich benutze Delphi 2009.
Am Ende des Form-Create-Event setze ich einen Jurnalhook:
Delphi-Quellcode:
Die MouseHookProc sieht so aus:
MainForm.MouseHook := SetWindowsHookEx(WH_JOURNALRECORD, @MouseHookProc, HInstance, 0);
Delphi-Quellcode:
Wenn ich mein Programm im Debug-Modus teste hängt sich bei bestimmten Aktionen die gesamte IDE auf. Dann muss ich den bds.exe abschießen und neustarten.
{--[MouseHookProc]-------------------------------------------------------------}
function MouseHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; var P: PEventMsg; begin If nCode = HC_ACTION then begin If lParam <> 0 then begin P := PEventMsg(lParam); if P^.message = WM_MOUSEMOVE then begin SendDebug('Mausbewegung'); end else if P^.Message = WM_LBUTTONDOWN then begin SendDebug('Linksklick'); end else if P^.Message = WM_MBUTTONDOWN then begin SendDebug('Mittelklick'); end else if P^.Message = WM_RBUTTONDOWN then begin SendDebug('Rechtsklick'); end else if P^.Message = WM_MOUSEWHEEL then begin SendDebug('Mausrad'); end else if P^.message = WM_KEYUP then begin SendDebug('Tastatur'); end; end; end; Result := CallNextHookEx(0, nCode, wParam, lParam); end; Im besten Fall friert das gesamte Windows ein (es bewegt sich nichts mehr und nimmt keiner Eingaben entgegen). Dann kann ich es wieder zum Auftauen bringen durch einen Druck auf STRG+ALT+ENTF Hat Jemand eine Ahnung was ich da tun kann? |
Re: Low-Level Hook bringt Delphi-IDE beim debuggen zum Abstü
Warum verwendest du überhaupt einen Journal-Hook und nicht etwa einen Maus- und einen Tastaturhook?
|
Re: Low-Level Hook bringt Delphi-IDE beim debuggen zum Abstü
Weil ich faul bin :P
Das scheint aber tatsächlich schon die Lösung zu sein. Wenn ich statt WH_JOURNALRECORD WH_MOUSE_LL gibt es keine derartigen Probleme. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz