Hi,
I have updated the destructor but it did not help:
FKeepAlive.Stop;
while integer(PeekMessage(Msg, 0, 0, 0, PM_REMOVE)) <> 0 do
begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
FKeepAlive.Terminate(5000);
And it fails during call to Terminate(5000) after about 1 second.