вобщем работать стало ......если на "форму" (прошу прощения за выражение) сервиса бросить таймер.....и в обработчике его написать
void __fastcall TSRVDozor::Timer1Timer(TObject *Sender)
{
PostThreadMessage(SRVDozor->_id_thread,WM_CLIENT_LOG,3,5);
}
а в нитке самого сервиса....
void __fastcall TSRVDozor::ServiceExecute(TService *Sender)
{
_start_srv();
_id_thread = GetCurrentThreadId();
MSG msg;
while (!Terminated)
{
if (WaitMessage())
{
Sleep(5);
if(PeekMessage(&msg, NULL , WM_CLIENT_LOG, WM_CLIENT_LOG, PM_NOREMOVE) != 0)
{
_log_data_module->_write_to_log(msg.message,"asd",1,1);
}
ServiceThread->ProcessRequests(false);
}
}
}
НО НЕ РАБОТАЕТ ЕСЛИ В ДОПОЛНИТЕЛЬНОМ DATAMODULE добавить Таймер
и слать оотуда
void __fastcall T_log_data_module::_log_timerTimer(TObject *Sender)
{
PostThreadMessage(SRVDozor->_id_thread,WM_CLIENT_LOG,3,5);
}
Почему???????????