Форум: "Основная";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];
ВнизПотоки Найти похожие ветки
← →
delta (2002-08-06 16:12) [0]Посоветуйте. Как в потоке создать задержку (необходимо дождаться момента загрузки файла другим приложением)ProcessMessages не роботает, а АPI Sleep()не подходит.
← →
Polevi (2002-08-06 16:22) [1]чем не подходит sleep
← →
Внук (2002-08-06 16:23) [2]Sleep должен работать, только не для этого он.
В данном случае для синхронизации потоков уместно использовать Event, на мой взгляд. Соответственно - см. WaitForSingleObject
← →
Внук (2002-08-06 16:25) [3]Я, конечно, исхожу из того, что оба приложения Ваши и их исходники доступны
← →
delta (2002-08-06 17:21) [4]Дополнение к вопросу. Програма дождаться открытия файла которой необходимо Adobe PageMaker, моя програма ищет определённые данные. Определить момент завершения открытия файла я могу но все это время нужно, чтото делать (лучше отдать ресурсы системе)
← →
Внук (2002-08-06 17:35) [5]>>delta © (06.08.02 17:21)
А каким образом Вы этот момент определяете? От этого, вероятно, будет зависеть ответ на исходный вопрос.
← →
delta (2002-08-06 17:53) [6]Момет легко определить послав PageMake запрос. Я использую DDE для этого. Но вопрос не в том. Ведь посилать постоянно запросы не разумно, зачем перегружать систему. Для етого и нужна небольшая задержка
← →
Внук (2002-08-06 17:59) [7]>>delta © 06.08.02 17:53)
Значит, определить момент Вы все-таки не можете, а можете только узнать состояние на текущий момент времени. Тогда, вероятно, следует в цикле вызывать процедуру Sleep, увеличивая каждый раз интервал ожидания...(не помню, где я видел такой прием с удвоением интервала, как бы не в Рихтере)
var WaitTime:integer;
WaitTime:=2000;
while not Проверка_На_Окончание_Операции do
begin
Sleep(WaitTime);
WaitTime:=WaitTime*2;
end;
← →
delta (2002-08-06 18:17) [8]Уточнение хорошое. В даный вариант работает. У меня просто предвзятое отношение к Sleep(), несколько раз пытался использовать правда в варианте Sleep(0)(тоисть квант процесорного времени), что вызывало ошибки.
← →
Внук (2002-08-06 19:05) [9]Только еще наверно надо добавить защиту от ухода в бесконечный цикл... А вдруг при открытии документа возникнет ошибка - тоже вариант :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c