Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi
Войти
Регистрация
Восстановить пароль
 
YaMolekula
14 / 14 / 2
Регистрация: 03.02.2010
Сообщений: 142
#1

Access Violation при BitMap.Create - Delphi

28.05.2011, 13:40. Просмотров 729. Ответов 1
Метки нет (Все метки)

Доброго Времени Суток! У меня в коде используется двусвязный список типа

http://www.cyberforum.ru/delphi/thread1327318.html
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
Tinf=record {тип данных, который будет храниться в элементе списка}
    n,alb:string[255];  //name, album
    iz,drw:boolean; //iz-фото в папке izbrannoe ,draw-вывести изображение
    b:TBitMap;//изображение фотографии
  end;
 
List=^T_List;  {Указатель на элемент типа T_List}
 
T_List=record 
    data:TInf;  {данные, хранимые в элементе}
    next,       {указатель на следующий элемент списка}
    prev:List;  {указатель на предыдущий элемент списка}
  end;
Сначала поля "b:TBitMap;//изображение фотографии" не было и всё работало нормально, после добавления поля в строке
Delphi
1
2
3
4
5
6
7
tmp0:=spisnach;
while tmp0<>nil do
  begin
  tmp0^.data.b.Create;//здесь появляется Access Violation
.....................................
  tmp0:=tmp0^.next;
  end;
начала появлятся ошибка 'Access violation at address 004843F7 in module 'SortFoto0.exe'. Read of address 00000000'

Хотел спросить совета, чем могла быть вызвана эта ошибка и как от неё можно избавиться?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2011, 13:40
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Access Violation при BitMap.Create (Delphi):

TList. Ошибка Access Violation при создании.
Имеется такая структура данных: type TMyList = class private FMyList:...

Access violation at address при запуске потоков
Всем привет, запускаю несколько потоков но получаю ошибку...

Access Violation при вызове метода Open для Sqlquery из потока
Здравствуйте, очень нужна помощь. Использую dbexpress для работы с Oracle. В...

Delphi 2010: получаю Access Violation при попытке настроить Build Configuration
Кликаю ПКМ на конфигурации &quot;Release&quot;, потом выбираю пункт &quot;Edit...&quot; и вылезает...

Access violation at adress
Собственно говоря, вот элемент кода, ошибка при попытке выполнить сроку ...

1
Mawrat
12821 / 5729 / 1700
Регистрация: 19.09.2009
Сообщений: 8,807
29.05.2011, 18:29 #2
Надо заменить:
Delphi
1
tmp0^.data.b.Create;
на:
Delphi
1
tmp0^.data.b := TBitmap.Create;
И ещё надо не забыть уничтожить созданные объекты типа TBitmap при уничтожении элементов списка. В коде уничтожения (удаления из памяти) элементов списка, для каждого элемента:
Delphi
1
2
  tmp0^.data.b.Free;
  Dispose(tmp0);
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2011, 18:29
Привет! Вот еще темы с решениями:

AssignFile и access violation
Подскажите, в каких случаях может возникать ошибка access violation в строке с...

Access Violation в подпрограмме
Доброго вечера, не сильно разбираюсь в Deplhi, почти написал программу, которая...

Создание COM-сервера.Ошибка Access violation
Возникла проблема при создании COM-сервера. Поэтапно: 1.Создаю библиотеку...

Delphi XE5 + TComPort 4.13 = access violation
Помогите разобраться с проблемой. В основной форме вызываю настройки Com...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru