![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пишу программу для проверки соединения с интернетом...
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 посмотри