У меня проблема со следующим фрагментом кода
при первом запуске моей программы через эту функцию команда IdFtp.List выдает следующую ошибку
EListError с сообщением 'Индекс списка вне границ (1)'
Но при втором запуске ошибки не возникает
procedure TForm1.FinnaSkrar(FileFilter: string; FtpFiles : TStringlist);
var
i : Integer;
begin
try
IdFTP1.List(FileFilter, False);
except
ShowMessage('No file found !');
Exit;
end;
for I := 0 to IdFTP1.DirectoryListing.Count - 1 do
FtpFiles.Add(IdFTP1.DirectoryListing.Items[i].FileName);
end;
Я попытался обновить Indy до последней версии сборки 4734 на Delphi 2010
, но безуспешно
Дополнительная информация на момент ошибки
Стек вызовов показывает
- : 7547b9bc KERNELBASE.RaiseException + 0x58
- : 0043652e TList.Get + $ 1A
- : 0043652e TList.Get + $ 1A
- IdComponent.TIdComponent.EndWork (wmRead)
- IdComponent.TIdComponent.EndWork (wmRead)
- IdComponent.TIdComponent.EndWork (wmRead)
- IdIOHandler.TIdIOHandler.ReadStream ($ 229ADD0, -1, True)
- IdFTP.TIdFTP.InternalGet ('NLST REKIM- 0130 ', $ 229 ADD0, False)
- IdFTP.TIdFTP.List (ноль, 'REKIM- 0130 ', False)
- IdFTP.TIdFTP.List ('REKIM- 0130 ', False)
- unitMainTntNavi.TfrmMain.FinnaSkrar ( 'REKIM- 0130 ', $ 22BE730)
OnDirParseStart и OnRetrived Dir не были запущены
и строка IdFTP1.DirFormat пуста
вызов IdFTP1.RetrieveCurrentDir сначала не помогает
вызов IdFTP1.List (nil) имеет тот же результат