-
Den (11.02.10 10:16) [0]Здраствуйте ! Помогите решить проблему. Есть приложение, работает по сети. При старте приложения необходимо добавить в сетевую БД (Firebird) некоторые данные. Но перед добавлением необходимо убедится что сервер с БД доступен в сети. Пытаюсь сделать через пинг:
IdIcmpClient1.Host := 10.10.0.100
IdIcmpClient1.Ping();
if IdIcmpClient1.ReceiveTimeout <= 30000 then....
//вставляем запись - сервер доступен
Если выключить сеть то на строке IdIcmpClient1.Ping(); получаю ошибку "No route to host".
Данные вставляются с помощью компонентов FIBPlus. Пытался убрать пинг, и просто тупо пытаться встявлять данные, если сети нет то получаю Access violation на строке pFIBDatabase.Connected := True; что вообщем то понятно...
Может кто подскажет рабочее и грамотное решение данной проблемы -
brother © (11.02.10 11:40) [1]ща начнется ;)
-
Дмитрий Белькевич (11.02.10 12:03) [2]Эпидемия прям.
-
YurikGL © (11.02.10 14:16) [3]try
pFIBDatabase.Connected := True;
except
showmessage('ошибка подключения к базе');
halt;
end -
Сергей М. © (11.02.10 15:08) [4]
> если сети нет то получаю Access violation на строке pFIBDatabase.
> Connected := True; что вообщем то понятно
С чего бы вдруг "понятно" ?
Мне вот совершенно не понятно откуда вдруг взялось страшное AV по такому смехотворному поводу как отсутствие сети.. -
Eraser © (11.02.10 15:37) [5]> [0] Den (11.02.10 10:16)
этот компонент для корректной работы требует права админа, лучще использовать другой подход. -
Anatoly Podgoretsky © (12.02.10 16:40) [6]> Den (11.02.2010 10:16:00) [0]
Глупая и не нужная идея. Ну проверил ты, получил ОК, а через миллисекунду получишь облом.