Привет. Грустно это... указатели такая хорошая штука, а делфи... или это может я че не так делаю?
Короче к делу. Создаю я шахматы (зачетная работа у меня такая

). У меня есть класс
Cell1 = class(TShape) - это класс клетки шахматной доски, а также есть класс
Figure = class(TImage) - это базовый класс для всех шахматных фигур.
Класс Figure имеет property
player:boolean read GetPlayer write setPlayer;, который указывает принадлежность фигуры к игроку.
Класс Cell1 имеет параметр
fig : ^Figure; - указатель на фигуру, стоящую на этой клетке, если фигуры нет, то
nil
Вся доска - есть массив
pole: array[1..8,1..8] of Cell1; (объявлен как глобальная переменная)
В чем суть проблемы:
в одном из методов класса Figure есть строчка
if (pole[x,y].fig <> nil) and .... - тут все нормально, но стоит только сделать так:
if (pole[x,y].fig <> nil) and (pole[x,y].fig.player <> nextMove) как генерируется ошибка Access voilation at address ...
отладчик показывает что значение параметра pole[x,y].fig = @значение, но по поводу параметров этого самого fig говорит - innaseble value.
КТО МОЖЕТ ПОМОГИ ПЛИЗ!!!