Вниз
Скачать: 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.01 c
14-20207
Marser
2003-06-21 22:27
2003.07.07
Как сложить два числа?


14-20236
Дмитрий К.К.
2003-06-19 06:15
2003.07.07
Именинники 19 июня


3-19966
Max_
2003-06-12 14:19
2003.07.07
Результат Query как таблица?


14-20192
LOX
2003-06-18 18:15
2003.07.07
Дроби


7-20326
Лёша
2003-04-25 16:36
2003.07.07
Кто знает, почему при выгрузке ДИНАМИЧЕСКОГО МОССИВА в COM port,




   Наверх