Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];

Вниз

Application.ProcessMessage в службах   Найти похожие ветки 

 
Avsam   (2004-02-12 16:48) [0]

Приложение написано как служба (Service).
Надо использовать Application.ProcessMessages.

Чем его и как заменить? Или может он и не нужен?


 
Семен Сорокин   (2004-02-12 16:54) [1]

сначала расскажи зачем тебе Application.ProcessMessages в сервисе?


 
avsam   (2004-02-12 16:59) [2]

сервис работает с коммуникациями.
Посылает команду и надо подожать 10 секунд ответ.

t1 := GetTickCount;
repeat
// Application.ProcessMessages;
until GetTickCount - t1 > ConstTime

Чем его заменить?


 
Тимохов   (2004-02-12 16:59) [3]

sleep


 
Семен Сорокин   (2004-02-12 17:01) [4]

в твоем случае можно заменить точкой с запятой - ; :))
а вообще вместо цикла используй [3]


 
avsam   (2004-02-12 17:03) [5]

То есть, я так понял, система сама отдает время для других процессов?


 
Digitman   (2004-02-12 17:03) [6]


> Надо использовать Application.ProcessMessages


зачем ?


 
avsam   (2004-02-12 17:04) [7]

2 Digitman:
См. [2]


 
Тимохов   (2004-02-12 17:04) [8]


> Digitman © (12.02.04 17:03) [6]
>
> > Надо использовать Application.ProcessMessages
>
>
> зачем ?

А вдруг тики без этого течь не будут? :)))))


 
Семен Сорокин   (2004-02-12 17:06) [9]

То есть, я так понял, система сама отдает время для других процессов?
ну ты же нигде в своей программе не добавляешь Application.ProcessMessages для того чтобы, например в WindowsCommander отрисовалась иконка?


 
Digitman   (2004-02-12 17:06) [10]


> Чем его заменить?


нормальным асинхронным таймером


 
Тимохов   (2004-02-12 17:08) [11]

чем ему sleep то не походит?
Зачем асинхронный таймер?


 
Digitman   (2004-02-12 17:11) [12]


> avsam © (12.02.04 16:59) [2]
> сервис работает с коммуникациями.


угу... и в документации на "коммуникации" прямо так и написано : выхжать с пом. GetTickCount время t1

правильно я телепатировал ?


 
avsam   (2004-02-12 17:23) [13]

2 Digitman:
Нет. Коммуникация происходит не напрямую.
То есть сервис не работет с железом. Данные передаются через базу данных. Сервис пишет в таблицу запись. Другая программа, которая работает на другом компе, периодически считывает и посылает в Beckhoff-контроллер. Ответ приходит и помещается в другую таблицу, откуда сервис его уже и читает.
Это немного успрощенно, но принцип такой.
Время не критично. Плюс-минус 10 секунд роли не играет.

Вот этот период сервис и должен выждать.


 
Тимохов   (2004-02-12 17:24) [14]


> avsam © (12.02.04 17:23) [13]

Делай sleep - и дело с концом


 
Семен Сорокин   (2004-02-12 17:25) [15]

avsam © (12.02.04 17:23) [13]
тогда Sleep тебя полностью устроит.


 
Digitman   (2004-02-12 17:29) [16]


> Ответ приходит и помещается в другую таблицу, откуда сервис
> его уже и читает


на то есть понятие "подтвержденная транзакция"


 
avsam   (2004-02-12 17:48) [17]


> Digitman © (12.02.04 17:29) [16]


Может и есть. Не в курсе.
Правда, контроллер не один, а несколько десятков.
Предагаешь, посидеть и переписать весь софт?



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

Форум: "Основная";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.032 c
3-79664
Alex__
2004-01-30 21:21
2004.02.25
Функция Table.Translate


1-79773
Yuri Btr
2004-02-11 21:17
2004.02.25
Уникальность Pointer в TList


1-79855
Well
2004-02-10 17:25
2004.02.25
Убрать программу из


3-79551
Крутыш
2004-01-29 22:29
2004.02.25
Уточнение про adotable


1-80002
denis24
2004-02-13 11:03
2004.02.25
Проверка условия





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский