Вниз
Скачать: 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.021 c
1-1093792168
Mihey_temporary
2004-08-29 19:09
2004.09.12
Проблема с записью в файл значения указателя


1-1093761619
DIS
2004-08-29 10:40
2004.09.12
функция которая переводит число в слова


1-1093886097
hamster
2004-08-30 21:14
2004.09.12
asm


3-1092745686
MadGhost
2004-08-17 16:28
2004.09.12
DBGrid multiselect как узнать список который выбрали?


1-1093439848
Chlavik
2004-08-25 17:17
2004.09.12
OVERLAPED и CreatePipe




   Наверх