Главная страница
    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.46 MB
Время: 0.006 c
14-20278
alxx
2003-06-18 15:25
2003.07.07
Как врубить двустороннюю печать у драйвера принтера?


1-20041
SkySlider
2003-06-23 18:27
2003.07.07
Печать листа Exel из Delphi?


1-20071
Aleksandr
2003-06-25 18:49
2003.07.07
Как запретить обработку TabSetChanging при выпадающем меню?


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


9-19947
Gayrus
2003-01-24 02:42
2003.07.07
OpenGL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский