![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
try finally для IdFTP [D6, Win2k]
Pavelkq © (2005-05-03 13:21:00)Пишу мульку для скачивания файлов с ФТП. Когда конект хороший прога пашет, как зверь, но если какие-то проблемы с коннектом, то и прога вылетает по ошибке. Раньше не работал с
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;
А потом надо будет повторить этот же агалог кода для самого скачивания...
Pavelkq (2005-05-03 14:23:00) [1]Спасибо! Небольшие добавки с переменной Goodи все сработало, как надо, т.е. долбится до потери пульса.
Digitman (2005-05-03 13:56:00) [2]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 13:44:00) [3]Ну, чайник я, чайник. Подскажите, если не сложно, как это правильно сделать?
Digitman (2005-05-03 13:39:00) [4]
> А тут решил включить
и где же ?
> обработки ошибок
блок try..finally не предназначен для обработки исключений
для этого существует блок try..except