sorry, die hab ich wohl vergessen... Danke für Deine schnelle Antwort.
Also, wenn ich Dich richtig verstehe, läuft der Timer bei einem aktiven, offenen showmessage Dialog trotzdem weiter...das werde ich mir noch ansehen.
Aber lassen wir den Timer mal weg. Warum springt, sobald der showmessage Dialog aktiv ist, das Programm auf EventPipe? Eigentlich sollten doch nur DeviceChange Ereignissen abgefangen und nach EventPipe gesprungen werden, oder?
Habe dies gefunden in JvHidDeviceController.pas:
Delphi-Quellcode:
if IsHidLoaded
then
begin
HidD_GetHidGuid(FHidGuid);
// only hook messages if there is a HID DLL
FHWnd := AllocateHWnd(EventPipe);
// this one executes after Create completed which ensures
// that all global elements like Application.MainForm are initialized
PostMessage(FHWnd, WM_DEVICECHANGE, DBT_DEVNODES_CHANGED, -1);
end