Текущий архив: 2003.07.07;
Скачать: CL | DM;
Внизждать завершение процедуры Найти похожие ветки
← →
maxon (2003-06-24 11:15) [0]как запустить процедуру и подождать её завершение?
← →
Anatoly Podgoretsky (2003-06-24 11:20) [1]Оно так и есть.
← →
Palladin (2003-06-24 11:22) [2]сплошной орешник
← →
maxon (2003-06-24 11:24) [3]понимаю :-)), надо было по подробнее
вобщем я перехватываю сообщение на закрытие сессии и здесь вызывается onclose а она идёт в своёи потоке, так что получяется они выполняются паралельно, так вот надо подождать пока выполнится ряд действия в этом onclose, а sleep не подходит так как он всё замораживает
← →
maxon (2003-06-24 11:28) [4]принудительно окно обновляю в цикле, но оно обновляется только однажды
close;
for i:=1 to 5 do begin
update;
sleep(1000);
end;
Msg.result:=1;
а в onclose включается таймер, а в таймере идёт обратный отсчёт и в label пишется 5..4..3..
← →
Palladin (2003-06-24 11:29) [5]заведи переменную-флаг
← →
maxon (2003-06-24 11:32) [6]т.е. гонять цикл пока флаг не примет true? это маленько не красиво, может есть какие нить другие пути?
← →
Palladin (2003-06-24 11:35) [7]нет я не понял! ты хочешь ждать или не хочешь?
← →
maxon (2003-06-24 11:37) [8]хочу )). приколисты блин, ну ладно приму к сведению
← →
Palladin (2003-06-24 11:40) [9]вот тебе как вариант если не хочешь устраивать цикл заведи критическую сессию и с ней извращайся, но в данном случае это не подходит...
← →
maxon (2003-06-24 11:42) [10]спасибо, остановлюсь на этом
← →
Семен Сорокин (2003-06-24 11:46) [11]2maxon
для потока используй WaitForSingleObject
← →
Palladin (2003-06-24 11:51) [12]
> Семен Сорокин © (24.06.03 11:46)
ему не конца потока ждать надо, а окончания работы процедуры в потоке... это разные вещи
← →
Zelius (2003-06-24 11:55) [13]передавай в эту процедуру Event и в конце процедуры его устанавливай, а там где надо ждать вызывай WaitForSingleObject...
Страницы: 1 вся ветка
Текущий архив: 2003.07.07;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.006 c