Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.49 MB
Время: 0.011 c
4-20345
vic_vm
2003-05-06 23:01
2003.07.07
Определить количество пунктов в Popup menu


14-20263
swordent
2003-06-20 09:13
2003.07.07
Компонент


3-19994
kaif
2003-06-11 16:07
2003.07.07
Как установить sweep interval = 0 не из IBConsole?


14-20305
Suntechnic
2003-06-18 17:31
2003.07.07
Оптимальный алгоритм преобразования в натуральное цело число...


3-20017
???
2003-06-13 14:44
2003.07.07
проблема со значениями по умолчанию (mdb)