сделать паузу... чтобы не скушать процессор

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Приветствую всех !

Есть процедура без окна. В ней бегаю по базам, считаю, пишу... - загрузка процессора = 100%
Как сделать паузу, чтобы освободить процессор ?
В оконной процедуре проблема решается через timer + accept , а как быть без окна ?

С уважением,
Сергей.

(Добавление)

Привет!

А кто мешает использовать "невидимое окно" ? :)

Сергей.

Смотри в доке оператор Yield.

С уважением,
Александр Полонский
Написал: ClaList(2)
Гость

Сообщение Гость »

А кто мешает использовать "невидимое окно" ? :)
- хочу приложение сервисом запустить...
Смотри в доке оператор Yield.
- это тоже до таймера... а таймер в окне... :(

С уважением,
Сергей.

Тогда только через ACCEPT скрытого окна.

Alexander Polonskiy

1. См в доке оператор Yield()

2 Можно воспрользоваться WinAPI процедурой Sleep

Sleep(DWORD),PASCAL

Время в миллисекундах.

3. Можно периодически и окошко открывать. Маленькое такое, 1x1 пиксел

Window Window,at(1,1,-10,-10),Timer(1)
End

Open(Window)

А внутри цикла периодически выполнять
Accept
Break
End

Close(Window)

---------------------------------------
C уважением,
Юрий Философов,
Главный программист
Корпорация "Диполь", Саратов
E-mail yufil@tacis-dipol.ru (служ)
yufil@mail.ru (дом)
ICQ#75924439
2 Можно воспрользоваться WinAPI процедурой Sleep
Sleep(DWORD),PASCAL
Время в миллисекундах.
- то, что надо !
Спасибо !

С уважением,
Запутряев Сергей.
Написал: ClaList(2)
Koss
Бывалый
Сообщения: 57
Зарегистрирован: 27 Март 2009, 15:38

Re: сделать паузу... чтобы не скушать процессор

Сообщение Koss »

Sleep
из винапи
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Re: сделать паузу... чтобы не скушать процессор

Сообщение Admin »

Koss писал(а):Sleep
из винапи
А я бы воспользовался окном...

Код: Выделить всё

Open(Window)
Window{PROP:Hide} = TRUE
Всегда использую скрытые окна. Думаю в сервисе тоже проблем не будет
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
lsgsoftware
Ветеран
Сообщения: 311
Зарегистрирован: 08 Июль 2005, 22:04

Re: сделать паузу... чтобы не скушать процессор

Сообщение lsgsoftware »

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

http://lsgsoftware.narod.ru/info.html
Ответить