Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.012 c
1-1122463335
Dust
2005-07-27 15:22
2005.08.14
Глобальные системные флаги


14-1121764299
Alexander Panov
2005-07-19 13:11
2005.08.14
Это демократия и рынок.


3-1120477465
Митяй
2005-07-04 15:44
2005.08.14
Сохранение результата запроса в таблицу


14-1121759304
Knight
2005-07-19 11:48
2005.08.14
Стандартные поля для стандартной инфы в базах...


4-1118781759
GrayFace
2005-06-15 00:42
2005.08.14
Отличия EXE и DLL. LoadLibrary(EXE)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский