![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Возникает ошибка, если интернета нет, или его принудительно вырубить, а вот и сама ошибка: Soket Error # 11001 Вопрос как её перехватить чтобы выключить? Или посоветуйте хорошую функцию для проверки интернет соединения. Перерыл весь интернет, пробовал логические функции Windows
INTERNET_CONNECTION_MODEM ; INTERNET_CONNECTION_LAN ; INTERNET_CONNECTION_PROXY ; INTERNET_CONNECTION_MODEM_BUSY ; ДА они показывают статус интернет соединения, но есть очень большое ‘но’ чтобы поменялся статус соединения надо перегрузить мое приложение, это мне не подходит, мне надо, что бы статус соединения проверялся каждую секунду. Всем спасибо, особенно кто, поможет по делу) Код:
function CheckInternetConnection(Host: string='google.com'; Port: integer=80; Timeout: integer=1000): boolean;
var TCP: TIdTCPClient;
begin
TCP:=TIdTCPClient.Create(nil);
try
TCP.Host:=Host;
TCP.Port:=Port;
TCP.ConnectTimeout:=Timeout;
try
TCP.Connect;
Result:=TCP.Connected;
except
Result:=false;
end;
finally
TCP.Free;
end;
end; |
|
#2
|
||||
|
||||
|
Код:
private
procedure ClException(Sender: TObject; Error: Exception);
procedure TForm1.ClException(Sender: TObject; Error: Exception);
begin
If(Error.ClassName = 'ESocketError') then begin
Memo.Lines.Add('[' + TimeToStr(Time) + '] ' + Error.Message);
end
else
Application.ShowException(Error); // ошибки не сокета
end;
...
FormCreate:
Application.OnException := ClException; |
|
#3
|
|||
|
|||
|
ошибка Socket Error #10038
![]() |
|
#4
|
||||
|
||||
|
я соединение всегда проверял так:
Код:
begin
if Form1.tcpClient1.LocalHostAddr<>'127.0.0.1' then
ShowMessage('Соединение есть...')
else
ShowMessage('Соединения нет...');
end; |
|
#5
|
||||
|
||||
|
в OnTimer хорошо работает...
|
|
#6
|
|||
|
|||
|
Могу с полной уверенностью сказать, что это не правильно
, и это полный бред. Поясняю: 1) Если у тебя сетка 2) Если у тебя стоит сервер 3)ну наконец, если у тебя proxy ТО у тебя программа будет все время показывать CONNECT. Т. е. делаем вывод это в корне не правильно. |
|
#7
|
||||
|
||||
|
Цитата:
1) у меня нету сетки 2) у меня нету сервера 3) у меня нуту прокси для меня то все условия подходит... честно этого не знал знаю только то что у меня работает хорошо и всё сорри... |
|
#8
|
|||
|
|||
|
Ты программы делаешь для себя или для людей?
|
|
#9
|
||||
|
||||
|
Цитата:
![]() |
|
#10
|
|||
|
|||
|
Ну, это в корне меняет дело
![]() |
|
#11
|
|||
|
|||
|
Ошибка вылазит только при запуске из IDE? или просто когда отдельно exe запускаешь?
|