Вниз
Скачать: 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.033 c
1-1093886760
Lord de Mon
2004-08-30 21:26
2004.09.12
Разделение строки


14-1093359776
gn
2004-08-24 19:02
2004.09.12
Вирус для 64-разрядных Windows


1-1093240722
[BAD]Angel
2004-08-23 09:58
2004.09.12
Как вывести текст на рабочий стол чтобы он не затирался окнами?


6-1089282243
banderas
2004-07-08 14:24
2004.09.12
TcpServer TcpClient Работают в блокирующем режиме ?


1-1093443504
vicky
2004-08-25 18:18
2004.09.12
Трабла с формами




   Наверх