Почему 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, когда переименовал прошло. Получается в дельфи объект класса нельзя назвать именем класса.
Да, вы правы. В объектно-ориентированных языках программирования, таких как Delphi, название объекта не должно совпадать с названием класса. В вашем случае, объект был назван так же, как и класс (Painter), что привело к конфликту и неопределенному поведению. Переименовав объект, вы избежали этой проблемы и ошибка исчезла.
Да, вы правы. В объектно-ориентированных языках программирования, таких как Delphi, название объекта не должно совпадать с названием класса. В вашем случае, объект был назван так же, как и класс (Painter), что привело к конфликту и неопределенному поведению. Переименовав объект, вы избежали этой проблемы и ошибка исчезла.