![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| sergey_85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 17.4.2007 Где: Россия, Челябинск Репутация: нет Всего: 1 |
Привет!
Есть простенькое winapi приложением. В нём 1 окно + поток (созданный через CreatedThread). Поток качает файл из инета, как правильно отправить сообщение из потока в главное окно с данными о том сколько байт скачено? Спасибо! Это сообщение отредактировал(а) sergey_85 - 17.5.2011, 13:45 -------------------- A good design always pays off. |
|||
|
||||
| GremlinProg |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
например, так:
WM_SOME_USER_MESSAGE - какое-нить сообщение, например:
которое надо обработать в WndProc, в данном случае, в lParam передается "сколько байт скачено" -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
||||||
|
|||||||
| ASMatic |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 254 Регистрация: 14.3.2009 Репутация: 1 Всего: 1 |
v2 предпочтительней для текущей задачки. пс_кто у нас быстрее всех - GremlinProg ессесно же.) Это сообщение отредактировал(а) ASMatic - 17.5.2011, 14:00 |
|||
|
||||
| sergey_85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 17.4.2007 Где: Россия, Челябинск Репутация: нет Всего: 1 |
Если из потока отправляю сообщение через SendMeesage, поток блокируется, пока не выполниться сообщение в главном потоке, так?
-------------------- A good design always pays off. |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
Да, но не следует использовать SendMessage, лучше PostMessage -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| ASMatic |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 254 Регистрация: 14.3.2009 Репутация: 1 Всего: 1 |
||||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
потому что с SendMessage можно ненароком сделать дедлок,
заблокировав очередь сообщений на ожидании какой-либо реакции от этого же потока ( простой пример - закрыть программу в момент такой блокировки: если приложение корректно завершает поток, ожидая завершения функции потока, то это ожидание и породит дедлок ) -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| ASMatic |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 254 Регистрация: 14.3.2009 Репутация: 1 Всего: 1 |
GremlinProg, ясн, это все от реализации зависит....думал мож какие системные тонкости по этому поводу есть.
|
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| ASMatic |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 254 Регистрация: 14.3.2009 Репутация: 1 Всего: 1 |
Dem_max, сэнкс
|
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 5 Всего: 50 |
||||
|
||||
| ASMatic |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 254 Регистрация: 14.3.2009 Репутация: 1 Всего: 1 |
Alca, ну спсиб, с потокаме не дружу и без дельфи жить не могу.)
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |