Вниз
Скачать: 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
6-1089194918
Аноним
2004-07-07 14:08
2004.09.12
Indy (idTCPServer) + синхронизация с VCL thread


1-1093174253
TeNY
2004-08-22 15:30
2004.09.12
TFormatSettings Как правильно использовать


4-1090878975
g-l-u-k
2004-07-27 01:56
2004.09.12
Сравнение файлов на winapi и поиск различий


3-1092368626
Dub
2004-08-13 07:43
2004.09.12
автоинкрементное поле в dbf


14-1093393635
Alex Konshin
2004-08-25 04:27
2004.09.12
Объем оптического диска достиг 1 терабайта




   Наверх