Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   создание потоков без класса TThread (http://forum.oszone.net/showthread.php?t=29564)

JCooper 25-07-2004 14:08 204600

Есть приложение написанное на чистом апи без всяких компонентов. В обработчике события WM_COMMAND нажатия на кнопку делаю новый тред:
Код:

CreateThread(nil, 0, @SomeProc, 0, 0, id);
Тред работает это я проверил, но при этом главному треду не доходит ни одно сообщение. Я понимаю, что если тред не создает окно то он не может принимать никакие сообщения, но тред интерфейса пользователя то работает и он должен получать сообщения. Как быть?

JCooper 26-07-2004 13:22 204601

Кажись понял в чем трабл. Сообщения то доходят, просто окно теряет фокус и WM_KEYDOWN не срабатывает. Дело в том, что я пишу 2Д движок на директе и как раз процедура этого дочернего процесса - есть цикл перерисовок, и как вернуть фокус окну я без понятия. SetFocus не помогает. :(

pva 18-11-2004 13:01 273794

Честно говоря, я не понял в чём проблема, но решить её можно кардинально:
Лучше перерисовку оставить в том же потоке который владеет окном. Это уменьшит необходимость синхронизации. А все вычисления, которым пофигу до перерисовки, перенести в независимый поток.


Время: 18:58.

Время: 18:58.
© OSzone.net 2001-