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

Вниз

try finally для IdFTP   Найти похожие ветки 

 
Pavelkq   (2005-05-03 13:21) [0]

Пишу мульку для скачивания файлов с ФТП. Когда конект хороший прога пашет, как зверь, но если какие-то проблемы с коннектом, то и прога вылетает по ошибке. Раньше не работал с try и finally. А тут решил включить, т.к. у IdFTP не нашел никаких обработки ошибок. Но чего-то не работает.
procedure TForm1.Button1Click(Sender: TObject);
var RemoteTSL, LocalTSL: TStringList;
   Set1,Set2: integer;
   MyPath, RWord,LWord: string;
   Good: Boolean;
begin
 If MyPath="" then MyPath:=GetCurrentDir;
 RemoteTSL:=TStringList.Create;
 LocalTSL:=TStringList.Create;
 Good:=False;

 While not(Good) do
 begin
   Memo1.Lines.add("Соединяемся...");
   try
     IdFTP1.Connect(True);
     IdFTP1.ChangeDir("updates3000");
     Memo1.Lines.Add("Соединились");
     Memo1.Lines.Add("Ждем список файлов");
     IdFTP1.List(RemoteTSL, "*.rar", False);
   finally
     if RemoteTSL.Count=0 then Memo1.Lines.Add("Ошибка соединения")
     else Good:=True;
   end;
 end;
...
end;

 А потом надо будет повторить этот же агалог кода для самого скачивания...


 
Digitman ©   (2005-05-03 13:39) [1]


> А тут решил включить


и где же ?


> обработки ошибок


блок try..finally не предназначен для обработки исключений
для этого существует блок try..except


 
Pavelkq   (2005-05-03 13:44) [2]

Ну, чайник я, чайник. Подскажите, если не сложно, как это правильно сделать?


 
Digitman ©   (2005-05-03 13:56) [3]

try
    IdFTP1.Connect(True);
    IdFTP1.List(RemoteTSL, "*.rar", False);
  except
   on e:exception do
    Showmessage("Вот такая вот беда приключилась:"#10 + e.classname + " " + e.message);
  end;


 
Pavelkq   (2005-05-03 14:23) [4]

Спасибо! Небольшие добавки с переменной Good и все сработало, как надо, т.е. долбится до потери пульса.



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

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

Наверх




Память: 0.47 MB
Время: 0.028 c
10-1099069229
AlexGof
2004-10-29 21:00
2005.08.14
DCOM как вызвать из 1С ?


1-1122251012
Джо
2005-07-25 04:23
2005.08.14
Перехват вывода 16-битных ДОС-программ текстового режима


1-1122400919
Anatol_sp
2005-07-26 22:01
2005.08.14
Глюк свойства AutoSize у TListColumn в TListView


1-1122188478
tttyu
2005-07-24 11:01
2005.08.14
как получить текущую позицию ScrollBar а в Richedit?


3-1120638031
Колобок
2005-07-06 12:20
2005.08.14
Посчитать максимальное?