Вниз
Скачать: 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
4-1091164721
wild_arg
2004-07-30 09:18
2004.09.12
Контекстное меню


3-1092814068
galexis
2004-08-18 11:27
2004.09.12
Зависает FireBird


4-1091037082
Yaral
2004-07-28 21:51
2004.09.12
Шрифты


1-1093364754
Фёдор Мегатронов
2004-08-24 20:25
2004.09.12
Чисто теоретический вопрос на счёт Тредов


1-1093739034
Сергей Петров
2004-08-29 04:23
2004.09.12
Как правильно двигать содержимое панели?




   Наверх