Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
3-1120541716
Ландграф Павел
2005-07-05 09:35
2005.08.14
Access через ADO


14-1122024136
asdqwer
2005-07-22 13:22
2005.08.14
SMS Email Gateway


3-1120746705
Pil
2005-07-07 18:31
2005.08.14
получение данных из БД


9-1114359194
Yegorchic
2005-04-24 20:13
2005.08.14
Как сделать 2D вид в GLScene?


14-1121638929
Andy BitOff
2005-07-18 02:22
2005.08.14
Удивительная клавиатура от Артемия Лебедева. Офигеть!




   Наверх