Вниз
Скачать: CL | DM;

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

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

Пишу программу для проверки соединения с интернетом и если связи нет - перезапуск службы маршрутизации.
Собственно есть несколько вопросов:
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 13:56) [1]

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


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

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


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

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


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

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


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

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



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
3-1146804316
vlgrig1961
2006-05-05 08:45
2006.07.02
Table header error !!!!!!!!!!


2-1150309492
Skype
2006-06-14 22:24
2006.07.02
создание события


3-1146090974
Германн
2006-04-27 02:36
2006.07.02
TIBQuery+TIBUpdateSQL


15-1149684949
Elen
2006-06-07 16:55
2006.07.02
pdf в doc


2-1150125729
AlexanderMS
2006-06-12 19:22
2006.07.02
Отличие Packed Record от просто Record.




   Наверх