Задание сохранить положение фигур на шахматной доске,чтобы после закрытия игры, была возможность загрузить сохраненную игру и продолжить играть или начать новую игру.
Моя задумка:расставляю фигуры в начальное положение.Если надо загрузить сохраненную игру, то Фигуры расставляю по координатам из Stringgrid2. Если координаты не записаны, то фигура удаляется.
Ошибка: Через фигуры, которые были срублены до закрытия нельзя ходить, хотя на доске их не появляется. Подскажите, пожалуйста, как правильно их удалить Я думала, что надо прописать Tag,но у меня не получается:oops: 
Вот код загрузки сохраненной игры: (В Stgringgride1 записывается история ходов, Nextturn-цвет фигуры, которая ходит)
Код:
procedure TChess.N3Click(Sender: TObject);
var i:integer;    a:coordinaty;
begin
 Try
 assignFile(x1,'x.txt');
 Reset(x1);
  for i:=0 to 31 do
  begin
   Readln(x1,s);
   StringGrid2.Cells[0,i]:=s;
  end;
   CloseFile(x1);
 except
  assignFile(x1,'x.txt');
  Rewrite(x1);
 end;
 Try
 assignFile(y1,'y.txt');
 Reset(y1);
  for i:=0 to 31 do
  begin
   Readln(y1,s);
   StringGrid2.Cells[1,i]:=s;
  end;
   CloseFile(y1);
 except
  assignFile(y1,'y.txt');
  Rewrite(y1);
 end;
 Try
 assignFile(name1,'Name.txt');
 Reset(name1);
  for i:=0 to 99 do
  begin
   Readln(name1,s);
   StringGrid1.Cells[0,i]:=s;
  end;
   CloseFile(name1);
 except
  assignFile(name1,'Name.txt');
  Rewrite(name1);
 end;
  Try
 assignFile(Figur1,'Figur.txt');
 Reset(Figur1);
  for i:=0 to 99 do
  begin
   Readln(Figur1,s);
   StringGrid1.Cells[1,i]:=s;
  end;
   CloseFile(Figur1);
 except
  assignFile(Figur1,'Figur.txt');
  Rewrite(Figur1);
 end;
  Try
 assignFile(nachhod1,'Nachhod.txt');
 Reset(nachhod1);
  for i:=0 to 99 do
  begin
   Readln(nachhod1,s);
   StringGrid1.Cells[2,i]:=s;
  end;
   CloseFile(nachhod1);
 except
  assignFile(nachhod1,'Nachhod.txt');
  Rewrite(nachhod1);
 end;
  Try
 assignFile(konhod1,'Konhod.txt');
 Reset(konhod1);
 for i:=0 to 99 do
  begin
   Readln(konhod1,s);
   StringGrid1.Cells[3,i]:=s;
  end;
   CloseFile(konhod1);
 except
  assignFile(konhod1,'Konhod.txt');
  Rewrite(konhod1);
 end;
 Try
 assignFile(rub1,'rub.txt');
 Reset(rub1);
 for i:=0 to 99 do
  begin
   Readln(rub1,s);
   StringGrid1.Cells[4,i]:=s;
  end;
   CloseFile(rub1);
 except
  assignFile(rub1,'kol.txt');
  Rewrite(rub1);
 end;
 for i:=0 to 99 do if (Stringgrid1.Cells[0,i]<>'') then nomer:=i+2;
for i:=1 to 32 do begin
 if (Stringgrid2.Cells[0,i-1]<>'') then     begin
         a[1]:= Strtoint(Stringgrid2.Cells[0,i-1]);
         a[2]:= Strtoint(Stringgrid2.Cells[1,i-1]);
         Figures[i].Place:=a;
         end;
 if (Stringgrid2.Cells[0,i-1]='') then  begin  figures[i].Free;   end;
end;
if (nomer div 2)=0 then Nextturn:=False;
end;