Вниз
Скачать: CL | DM;

Обмен сообщениями внутри сервиса   Найти похожие ветки 

 
AlexanderSK   (2004-07-29 13:59) [0]

Разрабатываю сервис для Win2k. Форм он не имеет, но внутри него нужно реализовать обработку сообщений, посылаемых из других модулей этого же приложения. Подскажите, пожалуйста, как это лучше реализовать?

Заранее благодарен!


 
Digitman ©   (2004-07-29 14:11) [1]

посылай сообщения трэду  сервиса, например,вызовом PostThreadMessage() .. ID трэда сервиса хранится в св-ве TService.ServiceThread.ThreadId

в обработчике TService.OnExecute() в этом случае следует организовать цикл выборки/диспетчеризации этих  сообщений по примерному шаблону

var
 Msg: TMsg;
begin
 while not Terminated do
   begin
     WaitMessage;
     if PeekMessage(Msg, 0, SM_CONTROL, SM_CONTROL, PM_REMOVE) then
       Dispatch(Msg.Message)
     else
       ServiceThread.ProcessRequests(False);
   end;


 
GanibalLector ©   (2004-07-30 01:50) [2]

RegisterWindowMessage



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
10-1037889217
ac2dc
2002-11-21 17:33
2004.09.12
ip клиента в коде серванта


14-1093282847
shc
2004-08-23 21:40
2004.09.12
Основная конференция жива?


14-1093107849
Knight
2004-08-21 21:04
2004.09.12
Покупка подержанного автомобиля...


1-1093860640
zorik
2004-08-30 14:10
2004.09.12
Повторный запуск программы


1-1093588084
Stype
2004-08-27 10:28
2004.09.12
Загрузочная форма




   Наверх