Меню сайта
Форма входа

Категории раздела
Уроки по созданию игр [38]
Программирование игр разной сложности
Игровые алгоритмы [24]
Алгоритмы, которые уже реализованы для разных жанров игр
Графика [5]
Учимся работать с графикой в Делфи
Мультимедиа [3]
Работа с мультимедийными возможностями Делфи
Другие статьи [18]
Статьи не вошедшие не в один из разделов
Ошибки [4]
Всевозможные ошибки и пути их решения
Среда, 15.05.2024, 19:30
Приветствую Вас Гость

Статьи по программированию

Главная » Статьи » Ошибки

Invalid pointer operation В ДЕЛФИ

Invalid pointer operation В ДЕЛФИ

 

 

Я пишу редактор карт для одной из своих игр и при выходе из редактора появлялась ошибка. Оказалась ошибка в модуле, где я загружал картинки в редактор.

Вот код на который стоило обратить внимание:

 

SetLength(Graph.Perehod,form1.ScrollBar3.Max+1,8+1,3);

Нумерация идет с нуля (тоесть последняя цифра динамического массива определеяет нулевой, первый и второй елементы)

 

for i:=0 to form1.ScrollBar3.Max do

   for j:=1 to 8 do

   for k:=1 to 3 do

   begin

   Graph.Perehod[i,j,k]:=Tbitmap.Create;

   Graph.Perehod[i,j,k].TransparentColor:=clblack;

   Graph.Perehod[i,j,k].Transparent:=true;

   Graph.Perehod[i,j,k].LoadFromFile(path+'\img\perehod\'+inttostr(i)+'p'+inttostr(j)+'p'+inttostr(k)+'.bmp');

   end;

 

A я пытался что-то в третий записать и ошибки не было. Но при выходе из программы появлялась ошибка

 

Invalid pointer operation

 

РЕШЕНИЕ ПРОБЛЕМЫ

 

Нужно либо звеличить раз мер мас сива:

SetLength(Graph.Perehod,form1.ScrollBar3.Max+1,8+1,3);

 

 

Либо уменшить цифру в заполнении массива

 

for i:=0 to form1.ScrollBar3.Max do

   for j:=1 to 8 do

   for k:=1 to 2 do

   begin

   Graph.Perehod[i,j,k]:=Tbitmap.Create;

   Graph.Perehod[i,j,k].TransparentColor:=clblack;

   Graph.Perehod[i,j,k].Transparent:=true;

   Graph.Perehod[i,j,k].LoadFromFile(path+'\img\perehod\'+inttostr(i)+'p'+inttostr(j)+'p'+inttostr(k)+'.bmp');

   end;

Категория: Ошибки | Добавил: Armageddets (05.02.2013)
Просмотров: 3293 | Рейтинг: 1.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Наш опрос
Где Вам удобнее оставлять коментарии и задавать вопроссы?
Всего ответов: 24
Мини-чат
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0