Анимация во время вычислений
От: Lunohod  
Дата: 05.10.06 18:04
Оценка:
В основной программе задаются параметры, а затем создается поток в котором ведутся вычисления (функция Calculation).



    HANDLE hCalculationEndEvent = CreateEvent(NULL, TRUE, FALSE, NULL);

    HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) Calculation, &hCalculationEndEvent, 0, 0);

    WaitForSingleObject(hCalculationEndEvent, INFINITE);

        //дальше обрабатываем вычисленные данные


Надо во время вычислений рисовать диалог с анимированной контролкой.

Как это сделать, ведь основной поток ожидеает окончания вычислений?

06.10.06 00:16: Перенесено модератором из 'C/C++. Прикладные вопросы' — Кодт
Re: Анимация во время вычислений
От: Andrew_D  
Дата: 05.10.06 18:23
Оценка:
Здравствуйте, Lunohod, Вы писали:

L>В основной программе задаются параметры, а затем создается поток в котором ведутся вычисления (функция Calculation).



L>

L>    HANDLE hCalculationEndEvent = CreateEvent(NULL, TRUE, FALSE, NULL);

L>    HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) Calculation, &hCalculationEndEvent, 0, 0);

L>    WaitForSingleObjectEx(hCalculationEndEvent, INFINITE, TRUE);

L>        //дальше обрабатываем вычисленные данные
L>


L>Надо во время вычислений рисовать диалог с анимированной контролкой.


L>Как это сделать, ведь основной поток ожидеает окончания вычислений?
Re: Анимация во время вычислений
От: Aleksey Pashko Украина about:blank
Дата: 05.10.06 19:24
Оценка: 2 (1)
Здравствуйте, Lunohod, Вы писали:

L>В основной программе задаются параметры, а затем создается поток в котором ведутся вычисления (функция Calculation).

может я чего не понял, но...
L>
L>HANDLE hCalculationEndEvent = CreateEvent(NULL, TRUE, FALSE, NULL);

L>HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) Calculation, &hCalculationEndEvent, 0, 0);

L>WaitForSingleObject(hCalculationEndEvent, INFINITE);

L>//дальше обрабатываем вычисленные данные

можно ведь просто ждать завершения потока, зачем тебе event?

L>Как это сделать, ведь основной поток ожидеает окончания вычислений?

имхо, с таким же успехом он может выполнять вычисления сам...

L>Надо во время вычислений рисовать диалог с анимированной контролкой.

ну так рисуй себе в новом потоке, закончишь вычисления — саспендишь, появятся новые даные — возобновляешь...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Анимация во время вычислений
От: Lunohod  
Дата: 05.10.06 19:31
Оценка:
Здравствуйте, Aleksey Pashko, Вы писали:

AP>можно ведь просто ждать завершения потока, зачем тебе event?


L>>Как это сделать, ведь основной поток ожидеает окончания вычислений?

AP>имхо, с таким же успехом он может выполнять вычисления сам...

L>>Надо во время вычислений рисовать диалог с анимированной контролкой.

AP>ну так рисуй себе в новом потоке, закончишь вычисления — саспендишь, появятся новые даные — возобновляешь...

Спасибо большое. Разобрался Так правдо все проще получается.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.