|
|
|
Блокировка при использовании CWnd::Create и DestroyWindow
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Задача следующая. Есть основной поток процесса, требуется создать еще один поток, а в нем - окно. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Sleep(1000000) использован просто для создания задержки (тут может быть WaitForSingleObject или какие-то вычисления). Проблема в том, что происходит блокировка при вызове wnd.Create, вызов не завершается, пока первый поток не выйдет из обработчика OnCreate. Аналогичная ситуация происходит при вызове wnd.DestroyWindow(); Если Sleep убрать, то OnCreate завершается и дочерний поток отрабатывает нормально. В чем тут может быть дело? Для чего функции Create нужен основной поток и его окно? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 21:28 |
|
||
|
Блокировка при использовании CWnd::Create и DestroyWindow
|
|||
|---|---|---|---|
|
#18+
Скорее всего child окно просто ждёт, пока досоздатся родительское. wnd.Create(NULL,"namewnd",0,r ,(CWnd*)param ,0,NULL); можешь сделать так, в OnCreate посылаешь себе msg, и в его обработчике создавай childs ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2006, 10:41 |
|
||
|
Блокировка при использовании CWnd::Create и DestroyWindow
|
|||
|---|---|---|---|
|
#18+
TracerСкорее всего child окно просто ждёт, пока досоздатся родительское. Если вызов AfxBeginThread перенести в другой обработчик, не имеющий отношения к созданию/удалению главного окна, то блокировка тоже происходит (OnTimer вызывается через секунду после создания главного окна): Код: plaintext 1. 2. 3. 4. 5. 6. Tracerможешь сделать так, в OnCreate посылаешь себе msg, и в его обработчике создавай childs Попробовал, то же самое. Заметил, что кроме wnd.Create так же блокируется вызов функции ::MessageBox (впрочем, это логично, т.к. там тоже идет создание окна). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2006, 11:35 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=363&tid=2031602]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 252ms |
| total: | 380ms |

| 0 / 0 |
