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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2010, 14:40   #1
Dalagardi
Пользователь
 
Регистрация: 16.01.2010
Сообщений: 38
Вопрос Ошибка при выборе картинок Delphi7

Создайтся динамический массив с картинками, пользователь выбирает n-количество картинок(OpenPictureDialog), жмёт добавить и после этого программа выдаёт ошибку:

Project Project1.exe raised exception class EStringListError with message 'List index out of bounds (2)'. Process stopped. Use Step or Run to continue.
Dalagardi вне форума Ответить с цитированием
Старый 16.03.2010, 14:52   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Код надо показывать. По типу ошибки (выход за пределы) видно, что вызываешь элемент массива которого нет. Скорее всего из-за того, что нумерация в динамическом массиве идёт с нуля, а у тебя с единицы. Или часто конец массива указывают Count, а не Count - 1. Или SetLength'a нет...
eoln вне форума Ответить с цитированием
Старый 16.03.2010, 15:06   #3
Dalagardi
Пользователь
 
Регистрация: 16.01.2010
Сообщений: 38
По умолчанию

Вот код =)
Код:
procedure TForm1.N2Click(Sender: TObject);
begin

if form1.OpenpictureDialog1.Execute=true then
begin

getmem(p,sizeof(Timage)*openpicturedialog1.Files.Count);
setlength(DinP,openpicturedialog1.Files.Count);

for i:=0 to openpicturedialog1.Files.Count do
begin
dinp[i]:=Timage.Create(panel1);
dinp[i].Stretch:=true;
dinp[i].Parent:=panel1;
dinp[i].Picture.loadfromfile(form1.OpenpictureDialog1.Files.strings[i]);
dinp[i].Left:=i*100+10;
end;
Dalagardi вне форума Ответить с цитированием
Старый 16.03.2010, 15:16   #4
Anatole
Форумчанин
 
Аватар для Anatole
 
Регистрация: 07.04.2009
Сообщений: 245
По умолчанию

Код:
for i:=0 to openpicturedialog1.Files.Count-1 do
Всякое безобразие должно быть единообразным. Тогда это называется порядком.
Anatole вне форума Ответить с цитированием
Старый 16.03.2010, 15:18   #5
Dalagardi
Пользователь
 
Регистрация: 16.01.2010
Сообщений: 38
По умолчанию

Anatole спасибо) Всё заработало =)
Dalagardi вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Методом JS прыгнуть на value списка при выборе Winlook JavaScript, Ajax 4 12.03.2010 16:31
Не обновляется поле при выборе значения Agapov_stas Microsoft Office Access 5 29.01.2010 10:29
Событие при выборе вкладки VistaSV30 Microsoft Office Access 2 25.01.2010 21:11
действие при выборе нужного <option> badfilin JavaScript, Ajax 2 16.04.2008 23:59
Delphi7 Ошибка при установке Kaa77 Софт 2 22.06.2007 13:25