![]() |
|
|
![]()
|
|
| BBulat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 5.12.2006 Репутация: нет Всего: нет |
В моем приложении метод OnInitDialog() открывает драйвер для чтения и записи. Чтение и запись в драйвер происходят в двух разных потоках асинхронным способом. Мне необходимо возвращаться в метод OnInitDialog() при не выполнении функций writefile или readfile.
Как правильно вызвать метод OnInitDialog() из потока? Зранее благодарен! |
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
Не знаю правильно ли это, но попробуй послать PostMessage(hwnd, WM_INITDIALOG, 0, 0)
-------------------- ????? ??, ??????? ?????. |
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 4 Всего: 23 |
Что означает вернутся? Если вызвать, то так, как посоветовал Andrey44, а иначе опишите задачу более полно
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Надо полагать, "вернуться" - значит получить управление и знать при этом, что чтение запись накрылись...
Вопрос такой: все ли чтение-запись должно произойти, пока не завершился OnInitDialog? Если да, то просто дождись завершения вызванного потока, а код завершения передай через возвращаемое функцией потока значение. Если нужно вернуть управление только в случае неудачи, а если чтение-запись начались успешно и будут продолжаться некоторое время, а диалог в это время должен чего-то делать, то тебе понадобятся два события - "хорошо" и "плохо". В OnInitDialog жди WaitForMultipleObjects, а в функции потока возбуди соответствующее событие в зависимости от результата. И еще вопрос: так ли необходимо делать это именно в OnInitDialog? Если все дело в том, чтобы показать соответствующее сообщение (или что-то в этом роде) и закрыть диалог, то просто заведи User Message и пошли его диалогу (PostMessage). -------------------- ... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |