проблемы с PostMessage()
От: Nesta Украина  
Дата: 27.10.09 15:29
Оценка:
Всем добрый день, у меня проблема с ф-цией PostMessage().

Ф-ция вызывается в одном потоке, обработчик ее находится в другом потоке (главном потоке приложения).
По нажатию кнопки запускается поток, который выполняет сохранение файла (сохранение длится около 20 секунд, поэтому было принято решение вынести его логику в отдельный поток, чтоб не блокировать пользовательский интерфейс). Этот поток шлет сообщение главному потоку приложения при помощи PostMessage() для выполнения специфических операций. И все вроде бы ничего, но в какой-то момент сообщение не доходит до функции-обработчика и сохранение файла завершается неудачно. Самое интересное, что когда после этого происходит нажатие на эту же кнопку PostMessage() выполняется успешно и обработчик благополучно выполняется.

Кто-нибудь знает какие-нибудь особенности работы PostMessage() и причины почему сообщения иногда доходят, а иногда — нет.

Еще один момент. Проблема актуальна когда пользователь нажимает на кнопку с очень маленьким интервалом (4 — 5 нажатий в секунду). Такова специфика этого теста. Если пользователь нажимает кнопку с периодичностью 1 раз в 2-3 секунды — все работает нормально.

Заранее благодарен
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.