Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.009 c
1-20065
Gamar
2003-06-25 09:27
2003.07.07
Из локальной функции прервать основную


3-19952
Artemij
2003-06-11 15:14
2003.07.07
Поля таблицы в Paradox


6-20177
stas_a
2003-04-30 10:33
2003.07.07
Модемное соединение


14-20280
Дмитрий К.К.
2003-06-20 06:09
2003.07.07
Именинники 20 июня


14-20272
race1
2003-06-18 15:54
2003.07.07
lan




   Наверх