Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.17;
Скачать: CL | DM;

Вниз

Пауза в исполнении программы   Найти похожие ветки 

 
zzking   (2004-02-05 21:47) [0]

Как поставить временную паузу на исполнение программы, чтобы программа временно перестала выполнять действия?


 
Юрий Зотов ©   (2004-02-05 22:00) [1]

Проще всего Sleep. Совсем не грузит CPU, но формы не будут работать. Если программы невизуальная, то это самый лучший вариант.

Если ненадолго, то можно так:
T := GetTickCount + Delay;
while GetTickCount < T do Application.ProcessMessages;
Грузит CPU на 100%, но все формы работатют.

Еще можно скомбинировать последний вариант с
while MsgWaitForMultileObjects(...) <> WAIT_TIMEOUT do
Application.ProcessMessages;
Разгружает CPU, а формы работают.


 
Anatoly Podgoretsky ©   (2004-02-05 22:26) [2]

Ну так и требуется "перестала выполнять действия"


 
zzking   (2004-02-06 09:24) [3]

Сформулирую вопрос несколько по-другому. Дело в том, что вышеперечисленные варианты "откладывают" исполнение действий с формами, т.е. нажатые кнопки выполняют соответствующие действия после заданной задержки. Мне же нужно, чтобы этого не происходило.
Более конкретно - в процессе диалога открытия файла выбирается и открывается файл путем двойного клика. После открытия файла и закрытия диалога курсор оказывается в рабочей области приложения, которая воспринимает нажатую кнопу мыши и выполняет соответствующие действия.
Возможно нужно сбросить буфер мыши или переместить курсор в "безопасное" место на форме.


 
Anatoly Podgoretsky ©   (2004-02-06 09:25) [4]

Enabled



Страницы: 1 вся ветка

Текущий архив: 2004.02.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
1-53575
HF-Trade
2004-02-09 01:13
2004.02.17
Вроде простой вопрос, для знатаков, помогитееее... плиз.


4-53823
SkyRanger
2003-12-02 03:08
2004.02.17
Основной код приложния с ттаймером...


1-53577
ivan01234
2004-02-08 21:47
2004.02.17
Как сделать главную форму позади других?


14-53771
Kerk
2004-01-27 14:25
2004.02.17
Merak Mail Server


1-53615
Iks
2004-02-07 12:37
2004.02.17
Рабочий стол