Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2017, 20:24   #1
Артист
Пользователь
 
Регистрация: 14.10.2017
Сообщений: 35
По умолчанию Ошибка: List index out of bounds (3)

Не могу понять почему она вылезает.
Ведь у меня во второй форме в ListView 3 колонки.
Но нет, вылезает при выполнении:

Код:
ListItem := Form2.ListView1.Items.Add;
Выкладывать код клочками нет смысла, весь проект: Find Copy File.rar

Нужно создать папку с 2-мя пустыми текстовыми файлами, и указать их.
Нажать "Старт".
И будет ошибка. Main.pas 476-я строка. Ниже мессага для проверки.

Смысл программы, искать одинаковые файлы.
При закрытии формы со списком файлов(будет ошибка, я пока на встроенные чекбоксы не переделал), если стоит чекбокс - файл удалится.

Помогите пожалуйста?

Последний раз редактировалось Артист; 22.11.2017 в 20:31.
Артист вне форума Ответить с цитированием
Старый 22.11.2017, 22:57   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Вот такие вещи лучше проверять ДО старта потока:

Код:
  if varDirectory = '' then
  begin
    varSMessage := 'Выберите папку!';
    Synchronize(SMessage);
  end
  else if DirectoryExists(varDirectory) then
  begin
Ну и собственно причина ошибки: откуда взялась Column[3], если их всего 3, а нумерация с нуля?

Код:
procedure TForm2.OnResize(Sender: TObject);
begin
  ListView1.Columns[1].Width := ListView1.ClientWidth - (20 + ListView1.Columns[2].Width + ListView1.Columns[3].Width);
end;
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 22.11.2017, 23:39   #3
Артист
Пользователь
 
Регистрация: 14.10.2017
Сообщений: 35
По умолчанию

Ааа...Блин, забыл.
Спасибо большое. ))
Артист вне форума Ответить с цитированием
Старый 23.11.2017, 07:52   #4
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,813
По умолчанию

у меня есть программа, которая методом сравнения по содержимому ищет одинаковые файлы среди огромного количества (скажем, 2-4 тысячи файлов) и удаляет найденную копию. могу сразу и исходник и программу дать, если очень надо.
писал, чтоб удалить лишнее среди кучи фотографий и песен
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 23.11.2017, 10:19   #5
Артист
Пользователь
 
Регистрация: 14.10.2017
Сообщений: 35
По умолчанию

Спасибо.
Я ради интереса делаю, так то и в инете есть куча прог(даже в CCleaner это есть). ))
Артист вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка List index out of bounds (8) Dima170792 БД в Delphi 14 30.11.2014 14:06
ошибка List index out of bounds (0) Smagulov85 Общие вопросы Delphi 2 10.07.2013 21:25
ошибка List index out of bounds (0) Natalie023 Помощь студентам 9 17.12.2011 19:27
Ошибка List Index out of bounds Rapala Помощь студентам 1 03.05.2010 17:33
ошибка:List index out of bounds tanek Помощь студентам 7 26.12.2009 20:38