Re[6]: Не ловятся месаги в службе....почему??
От: malefik  
Дата: 09.06.07 06:14
Оценка:
вобщем работать стало ......если на "форму" (прошу прощения за выражение) сервиса бросить таймер.....и в обработчике его написать

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);
}


Почему???????????
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.