Показать сообщение отдельно
  #1  
Старый 17.08.2015, 14:47
Аватар для ABTOBbIKND
ABTOBbIKND ABTOBbIKND вне форума
Прохожий
 
Регистрация: 17.08.2015
Сообщения: 3
Версия Delphi: Delphi 2007
Репутация: 10
Вопрос Проблема с закрытием формы (DelphiX)

Всем здрасьте.
Возникла проблема при разработке игры на DelphiX:
Нужно по определенном условию закрыть форму типа TDXForm, где происходит игра, и открыть другую форму (меню).
Пытался делать так:
Код:
procedure tform7.nepotrebstvo;
begin
dxdraw1.Finalize; //Выпиливает таймер
dxdraw1.Free;
dxspriteengine1.Dead;
dximagelist1.Free;
close; //7-я форма должна закрыться

 form9.Showmodal; //9-я форма должна быть показана

end;
Однако, при закрытии формы возникает ошибка "index of the list exceeds the range. (41)"
Компилятор указывает на эту функцию в юните DXSprite:
Код:
function TSprite.GetItem(Index: Integer): TSprite;
begin
  if FList <> nil then
    Result := FList[Index]
  else
raise ESpriteError.CreateFmt(SListIndexError, [Index]);//Вот эту строку компилятор выделяет
end;
Я так понял, что не до конца ликвидировал эти спрайты, раз из-за них выскакивет ошибка.
Уже много чего перепробовал, перерыл кучу сайтов, но решения проблемы так и не нашел. Помогите нубасу
Ответить с цитированием