13:55

149ea694a792f3ad2caaf77077a0df58 Спорящая с богом
Чего-то я туплю... А как мне организовать рабочий цикл для консольной программы, которую предстоит потом запускать как сервис, фоновым процессом? Функциональность вся в обработчиках событий и/или дополнительных потоках, то есть в рабочем цикле делать ничего не надо, просто чтоб программа не завершилась.
Спасите-помогите, пропадаю;о(((

@темы: Программизм, Работа

Комментарии
04.09.2008 в 16:51

The day that you stop running is the day that you arrive.
while SystemMessages do {}
04.09.2008 в 17:10

149ea694a792f3ad2caaf77077a0df58 Спорящая с богом
neo_rage
То есть просто бесконечный цикл? Но он же будет процессор жрать.
04.09.2008 в 17:15

The day that you stop running is the day that you arrive.
Караидель не будет, потому что действий никаких в цикле выполняться не будет :)
если включить оптимизацию, он вообще минимум жрет.
просто проверять, получает ли программа системные сообщения и не являются ли они WM_CLOSE и/или WM_STOP
сам цикл должен быть пустым, только условие.
Или даже так

while (system_message!=WM_CLOSE) {}

:)
там уже смотри сама.

или while true do {}

:)
04.09.2008 в 17:29

149ea694a792f3ad2caaf77077a0df58 Спорящая с богом
ОК, понятно, я так и думала, в принципе, но тихо надеялась, что есть какой-то способ добраться до 27-го интерапта, который в асме...
04.09.2008 в 17:37

The day that you stop running is the day that you arrive.
не пользовался - нет особого смысла)
21.09.2008 в 14:19

149ea694a792f3ad2caaf77077a0df58 Спорящая с богом
neo_rage
Я из-за этого бесконечного цикла 2 недели промучалась за здорово живёшь;о( Надо было написать трубу с одного ком-порта на другой. И шли потери данных, хоть тресни и время отклика было огромное, до 500 миллисекунд. Сегодня воткнула в этот цикл усыпление текущего процесса на 1000 - всё заработало идеально. Так что процессор этот цикл отжирает как большой.
21.09.2008 в 14:52

The day that you stop running is the day that you arrive.
Караидель Хм, в делфи я для этого кидал в цикл Application.ProcessMessages; для обработки задач. Как раз хватало...
21.09.2008 в 15:06

149ea694a792f3ad2caaf77077a0df58 Спорящая с богом
neo_rage
Под эмбедед??? У него нет объекта Application.
21.09.2008 в 15:11

The day that you stop running is the day that you arrive.
Караидель У него нет))
я вообще по смыслу. Должна быть функция ответа оси, что приложение живо и работает))