![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() После соединения с фтп сервером и забивания каталогов в ListBox, пытаюсь определить файл это или папка
Цитата:
Ну и он мне грит типа индекс вне нужной границы - "List index out of bounds" Это кстати взято из примера в исходниках. Так вот, может есть обходной путь? Последний раз редактировалось DIMzOne, 12.09.2006 в 21:25. |
#2
|
||||
|
||||
![]() А ты поставь брейкпойнт на эту строку и посмотри в окне Debug windows->Watches какое значение у ListBoxDirectory.ItemIndex и какое значение у IdFTP1.DirectoryListing.Count (или IdFTP1.DirectoryListing.Items.Count, к сожалению не юзаю этот компонент и точно не скажу, обычно с фтп вручную, апями работаю...) и провер, скорее всего у тебя значение ListBoxDirectory.ItemIndex болше, чем Count, чего, естественно не должно быть...
Хотя, может, я и не прав.... THE CRACKER IS OUT THERE |
#3
|
|||
|
|||
![]() IdFTP1.DirectoryListing.Items.Count = 0
IdFTP1.DirectoryListing.DirectoryName пустое Name:=IdFTP1.DirectoryListing.Items[0].FileName вообще не удается вычислить. Получается что он не забивает индексы директорий в свой список. Может при коннекте это както можно сделать? IdFTP1.DirectoryListing.Assign(IdFTP1.List); не получается |
#4
|
||||
|
||||
![]() 1. Если IdFTP1.DirectoryListing.Items.Count = 0, то IdFTP1.DirectoryListing.Items[0] естественно не будет присутствовать, т.к. элементов в этом листинге нет вообще.
2. Не могу сказать точно, но скорее всего не IdFTP1.DirectoryListing.Assign(IdFTP1.List); а IdFTP1.DirectoryListing.Items.Assign(IdFTP1.List); 3. Используй IdFTP1.DirectoryListing.Items.Add(...) и тому подоное для добавления и манупуляций с элементами в листинге А для полученя значений элементов используй IdFTP1.DirectoryListing.Items.Strings[n], где n - число. Все это я говорю основываясь на предположении, что IdFTP1.DirectoryListing.Items имеет тип TStrings Вобщем пиши, что как. THE CRACKER IS OUT THERE |
#5
|
|||
|
|||
![]() IdFTP1.DirectoryListing.Items.Assign(LS или IdFTP1.List) работает только с отдельными значениями items[] так что этот вариант отподает
IdFTP1.DirectoryListing.Assign(LS или IdFTP1.List) - несовпадение типов Пробую задавать IdFTP1.DirectoryListing.DirectoryName:=DirName; в функции смены директории, так после этого он серавно остается пустым. IdFTP1.DirectoryListing.Assign(ListBoxDirectory.It ems); вообще завис всю систему Но после добавления пустого значения в IdFTP1.DirectoryListing.Add - ошибки больше не выдает тока вот проблема с присваиванием (нужно как то получить тип IdFTPListItem) Немогу понять в чем касяк 4kusNick у тебя есть пример исходника от Indy с использованием этого компонента? Последний раз редактировалось DIMzOne, 13.09.2006 в 19:43. |
#6
|
||||
|
||||
![]() К сожалению, я не юзал Indy, всегда с фтп работал через апи =(
Надеюсь, местные мастера помогут. THE CRACKER IS OUT THERE |
#7
|
|||
|
|||
![]() http://www.projectindy.org/DemoDownl...os_26Oct04.zip для 9 Indy
http://www.indyproject.org/DemoDownl..._FTPClient.zip для 10. Давно писал на Indy поисковик. Исходники есть только дома. Сейчас домступа к ним не имею ![]() |
#8
|
|||
|
|||
![]() Simbar спс. Ща посмотрим
|
#9
|
|||
|
|||
![]() Нужно в uses дописать IdAllFTPListParsers
|