Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.07;
Скачать: CL | DM;

Вниз

работа с IdFTP   Найти похожие ветки 

 
inex   (2007-02-09 10:50) [0]

Добрый день!
Помогите, пожалуйста, разобраться с проблемкой.
Нужно скопировать файл с фтп-сервера. Для этого использую компонент IdFTP:

IdFTP1.Connect;
IdFTP1.Get("file.txt","file.txt",true);
IdFTP1.Disconnect;


Если фтп-сервер недоступен то  IdFTP1.Connect никакую ошибку не выдает, а как можно узнать о том удался коннект или нет?
И еще подскажите пожалуйста, как можно узнать о существовании файла на фтп-сервере?


 
Плохиш ©   (2007-02-09 11:18) [1]


> Если фтп-сервер недоступен то  IdFTP1.Connect никакую ошибку
> не выдает

Странно, а у меня говорит, что время ожидания истекло.

> как можно узнать о том удался коннект или нет?

У компонента имеется соответствующее свойство.

> И еще подскажите пожалуйста, как можно узнать о существовании
> файла на фтп-сервере?

Надо выполнить метод List.


 
inex   (2007-02-09 11:24) [2]


> Странно, а у меня говорит, что время ожидания истекло.


Насколько я знаю IdFTP1.Connect ничего не возвращает. В каком виде он тебе это говорит.


 
Сергей М. ©   (2007-02-09 11:42) [3]


> В каком виде он тебе это говорит.


В том же самом виде, в котором, к примеру, Strings.LoadFromFile говорит о несуществующем файле, который ты пытаешься загрузить


 
Плохиш ©   (2007-02-09 11:45) [4]


> inex   (09.02.07 11:24) [2]
>
> > Странно, а у меня говорит, что время ожидания истекло.
>
>
>
> Насколько я знаю IdFTP1.Connect ничего не возвращает. В
> каком виде он тебе это говорит.

В виде исключения.


 
inex   (2007-02-09 12:09) [5]

Дело в том что мне нужно оброботать две исключительных ситуации:

1. отсутствие коннекта с фтп-сервером
2. отсутствие файла на фтп-сервере

Я делал так:

try
IdFTP1.Connect;
IdFTP1.Get("file.txt","file.txt",true);
IdFTP1.Disconnect;
except
showmessage("error");

при первом вызове данных операторов, если одно из исключений присутствует, программа отрабатывает нормально (выдает сообщение об ошибке). Но вот если фтп доступен и файл есть то при повторном запуске данных операторов приложение все-равно выдает ошибку.
Может я что-то не так сделал или нужно еще что-то добавить?


 
Плохиш ©   (2007-02-09 12:12) [6]


> Но вот если фтп доступен и файл есть то при повторном запуске
> данных операторов приложение все-равно выдает ошибку.

"Такие интересные и понятные намёки" (c) котёнок Гав.

Кстати я сегодня кофе не пью, желания нет, так что жди пока у меня желание на кофе появиться, может заодно и погадаю...


 
Сергей М. ©   (2007-02-09 12:55) [7]

try
 IdFTP1.Connect;
 try
   IdFTP1.Get("file.txt","file.txt",true);
 finally
   IdFTP1.Disconnect;
 end;
except
 on e:exception do
  showmessage(e.ClassName + " " + e.Message);
end;


 
umbra ©   (2007-02-09 13:38) [8]

try
IdFTP1.Connect;
IdFTP1.Get("file.txt","file.txt",true);
IdFTP1.Disconnect;
except
 on EIdConnectTimeout do
    begin
       IdFTP1.Disconnect;
       raise;
    end;
  on E: EIdReplyRFCError do
   begin
       IdFTP1.Disconnect;
       if (E.ErrorCode = 450) or (E.ErrorCode = 550 )then
         ShowMessage("Невозможно скачать файл!");
    end;
end;



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

Текущий архив: 2007.10.07;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
3-1180604459
Тфьу
2007-05-31 13:40
2007.10.07
Не происходит RefreshRecord в Oracle


15-1189429638
Vlad Oshin
2007-09-10 17:07
2007.10.07
Нужна переменная - обнули явно:)


2-1187963777
__DATA__
2007-08-24 17:56
2007.10.07
Отлов динамической ошибки по адресу 0х...


8-1167250641
crasher
2006-12-27 23:17
2007.10.07
Слежение за объектом через веб-камеру


4-1175752393
аыпвапы
2007-04-05 09:53
2007.10.07
Alt+Tab как запретить в ХР?