M>не ловит мессаги отправляемые в TTimer такими операторами
PostMessage(NULL, ...) является полным аналогом PostThreadMessage(GetCurrentThreadId(), ...), то есть — запускает мессадж в текущий тред.
Отсюда вопрос: вы делаете PostMessage в том же треде что и WaitMessage?
А>отседа вопрос как прально получить threadid? А>еще работает в таймере с MyService->ServiceThread->ThreadID А>с GetCurrentThreadId() никак
GetCurrentThreadId() — возвращает ThreadId для места вызова. Просто не факт что это тот, что вам нужен. Вам нужен ThreadId места, где вызывается WaitMessage.
посмотрите чему равно GetCurrentThreadId() в обоих местах. Если есть необходимость — запомните значение ThreadId для WaitMessage() и используйте его в PostMessage
Простите, а кто должен дергать этот таймер? DataModule — это просто площадка для накидывания невизуальных компонент. Очереди сообщений (и активации таймера соответственно) она не имеет, если память не изменяет. Т.е. таймер просто не получит управления.
Re[8]: Не ловятся месаги в службе....почему??
От:
Аноним
Дата:
22.06.07 03:24
Оценка:
Здравствуйте, Аноним, Вы писали:
M>>НО НЕ РАБОТАЕТ ЕСЛИ В ДОПОЛНИТЕЛЬНОМ DATAMODULE добавить Таймер
M>>и слать оотуда
M>>Почему???????????
А>Простите, а кто должен дергать этот таймер? DataModule — это просто площадка для накидывания невизуальных компонент. Очереди сообщений (и активации таймера соответственно) она не имеет, если память не изменяет. Т.е. таймер просто не получит управления.
Думаю что имеет...вам стоит проверить это элементарным образом.....