Witam.
Próbuje w aplikacji (w Lazarusie) zrobić procedurę testującą połączenie z Internetem.
Wstawiłem do timera taki kod:
Form1.IdIcmpClient1.Host:='www.google.pl';
Form1.IdIcmpClient1.Ping('xxx');
Form1.IdIcmpClient1.ReceiveTimeout:=100;
IF Form1.IdIcmpClient1.ReplyStatus.BytesReceived=0
THEN Form1.Label1.Caption:='Połączenie OK'
ELSE Form1.Label1.Caption:='Brak połączenia'
W sytuacji gdy uruchomię aplikację w chwili gdy mam dostęp do internetu i w czasie działania programu Internet odepnę wszystko działa zgodnie z oczekiwaniami (label1 pokazuje "brak połączenia") po ponownym podłączeniu kabelka od LAN label1 zmienia się na "połączenie OK".
Jednak gdy próbuje uruchomić aplikację w chwili gdy nie ma internetu zwraca mi błąd "host not found".
Dlaczego ? (teoretycznie w chwili odpięcia komputera od sieci też powinienem dostać taki komunikat).
Jak temu zapobiec?
Pozdrawiam i dziękuję
EDIT
Pomijając wyżej opisany problem spróbowałem nawiązac połączenie z seewerem FTP.
Wklepałem :
IdFTP1.Port := 21;
IdFTP1.Username :='USER_NAME';
IdFTP2.Password := 'PASSWORD';
IdFTP1.Host := 'HOST';
TRY
POMOC.IdFTP1.Connect;
FINALLY
END;
O ile w miejsce Host wpisze poprawny adres serwera jest ok.
Jednak przy wpisaniu błędnego adresu wywala błąd (znów Host not found).
Dlaczego TRY nie wyłapuje tego wyjątku ?