mergenich
@mergenich

Почему access violation в конструкторе?

Создал такой класс:
type
  Painter = class
  public
    constructor Create();
  private
    sprite: TBitmap;
  end;

constructor Painter.Create();
begin
  sprite := TBitmap.Create;
end;

Запускаю - ошибка:
First chance exception at $005D94B0. Exception class $C0000005 with message 'access violation at 0x005d94b0: write of address 0x00000004'. Process Plan2D.exe (1248)


Решение:
Оказалось, объект я тоже назвал painter, когда переименовал прошло. Получается в дельфи объект класса нельзя назвать именем класса.
  • Вопрос задан
  • 409 просмотров
Решения вопроса 1
@kalapanga
А почему Вы решили, что ошибка в этом конструкторе? Конкретно этот десяток строчек никаких ошибок не вызывает, объект вполне себе создаётся. Вот деструктора ему не хватает, спрайта никто не освобождает.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
Exception class $C0000005
Это ошибка RAD Studio. Написано, что исправлена.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы