Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Пишу программу для проверки соединения с интернетом...


Tempora ©   (2006-06-09 13:14:00) 

Пишу программу для проверки соединения с интернетом и если связи нет - перезапуск службы маршрутизации.
Собственно есть несколько вопросов:
1. как сделать цикл который будет повторяться пока программа запущена? Я пишу программу как службу Windows, там нет application.terminated как я понял.
2. как при помощи idicmpclient сделать проверку есть ли пинг до Яндекса?
Я делаю так:
repeat
IdIcmpClient1.Host := 'ya.ru';
IdIcmpClient1.Ping;
if idicmpclient1.Receive(1).BytesReceived < 1 then
...пошел код перезапуска службы....
until как_указать_что_выполнять_цикл_до конца_программы;

Но при этом код if idicmpclient1.Receive(1).BytesReceived < 1 then срабатывает раньше чем получен ответ от Яндекса. Как правильно поступить в данном случае? Даже если обнобатывать событие idIcmpClient1.OnRelpy оно наступает позже чем проверка -(


Рамиль (с)   (2006-06-09 14:45:00) [1]

ни кто же не мешает события обрабатывать? Делай проверку в OnReply


Tempora   (2006-06-09 14:34:00) [2]

Спасибо, с циклом теперь все ОК.
А как быть с пингом?


Рамиль (с)   (2006-06-09 14:28:00) [3]

У меня Delphi нет на данный момент. Поиск по слову TServiceApplication


Tempora   (2006-06-09 14:13:00) [4]

Рамиль - не могли бы Вы показать пример здесь, я найти к сожалению не смог.


Рамиль (с)   (2006-06-09 13:56:00) [5]

Пример в справке по Delphi посмотри


Наверх

Титульная страница Поиск, карта сайта Написать письмо