Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SendMessage() в рабочем потоке, поток "замерзает" на вызове функции 
:(
    Опции темы
Dreamer_0x01
Дата 20.9.2005, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Терминатор
**


Профиль
Группа: Участник
Сообщений: 780
Регистрация: 14.4.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 12



Использую в программе отдельный поток, все засинхронизированно, поток "знает" структуру, в которой хранится HWND моего главного окна. Пишу с использованием API и MFC.

В потоке посылаю моему окну сообщения посредством вызова SendMesage(МОЙ HWND,МОЕ_СООБЩЕНИЕ, параметр 1, параметр 2).

В моем окне,производном от CDialog, в карту собщений вписан обработчик вида

ON_MESSAGE(МОЕ_СООБЩЕНИЕ, МОЯ_ФУНКЦИЯ).

И функция-обработчик имеет вид

LRESULT МОЯ_ФУНКЦИЯ(UINT wParam,LONG lParam)
{
/*
какие-то действия
*/
return 0;
}


Так вот если посылать сообщение методом PostMessage, то все работает, правда, нет увренности в том, что мое сообщение будет обработано тогда, когда мне это надо.
Поэтому я хочу использовать SendMessage, так как в документации читал, что оно "замораживает" поток до тех пор, пока не будет получено уведомление об обработке сообщения. Но в том-то и беда, что поток "замораживается", сообщение приходит окну, выполняются нужные действия, и все...Поток замирает. Короче, по-видимому надо как-то специально создать уведомление о получении моего сообщения, которое "разморозило" бы поток. Как???


--------------------
Нет ничего невозможного. Есть цели, и есть время и силы на их достижение.
PM ICQ   Вверх
SergeCpp
Дата 20.9.2005, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 5
Всего: 124



ReplyMessage

SendMessageTimeout

SendNotifyMessage

PM MAIL WWW ICQ   Вверх
Dreamer_0x01
Дата 20.9.2005, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Терминатор
**


Профиль
Группа: Участник
Сообщений: 780
Регистрация: 14.4.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 12



SergeCpp

Спасибо!!! ReplyMessage помогло...


--------------------
Нет ничего невозможного. Есть цели, и есть время и силы на их достижение.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0815 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.