Can someone please explain why I'm getting this error and how to fix it,it only happens once in a while for some reason... Thanks for your help.

Error EACCESS VIOLATION with message ACCESS VIOLATION at address 00479966 in DXSprite class :
procedure TSprite.Dead;
begin
if (FEngine <nil> error line here
end;
end;

FEngine.FDeadList.Add(Self); ------ > error line here


My code to kill sprites:
Code:
procedure TFormGame.RenderPlay;
begin
  DXSpriteEngine.Engine.Collisions;
  DXSpriteEngine.engine.Dead;
  DXSpriteEngine.Draw;
...

_psStarting  &#58; begin
                      dxSpriteEngine.Engine.Clear;
...

 _psPlaying   &#58; begin
FormGame.DxdrawGame.Surface.BltFast&#40;0, 0, backscreen.clientrect,1, backscreen&#41;;
DxSpriteEngine.Engine.Move&#40;1&#41;;
if &#40;player.Deaded&#41; and &#40;Lives <0>= 100000&#41; then
begin
fGameState &#58;= _gsEnd;
fEndState&#58;=_esPlaySelected;
formGame.DXWaveList.Items.Find&#40;'BlownUp'&#41;.Play&#40;False&#41;;
DXSpriteEngine.Dead;
dxspriteEngine.Engine.Dead;
formHigh.ShowModal;
end
else
if &#40;Player.Deaded&#41; and &#40;Lives <= 0&#41; then
begin
fGameState&#58;=_gsEnd;
fEndState&#58;=_esPlaySelected;
formGame.DXWaveList.Items.Find&#40;'BlownUp'&#41;.Play&#40;False&#41;;
DXSpriteEngine.Dead;
dxspriteEngine.Engine.Dead;
end
else
RenderPlay;
end;....