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 : begin
dxSpriteEngine.Engine.Clear;
...
_psPlaying : begin
FormGame.DxdrawGame.Surface.BltFast(0, 0, backscreen.clientrect,1, backscreen);
DxSpriteEngine.Engine.Move(1);
if (player.Deaded) and (Lives <0>= 100000) then
begin
fGameState := _gsEnd;
fEndState:=_esPlaySelected;
formGame.DXWaveList.Items.Find('BlownUp').Play(False);
DXSpriteEngine.Dead;
dxspriteEngine.Engine.Dead;
formHigh.ShowModal;
end
else
if (Player.Deaded) and (Lives <= 0) then
begin
fGameState:=_gsEnd;
fEndState:=_esPlaySelected;
formGame.DXWaveList.Items.Find('BlownUp').Play(False);
DXSpriteEngine.Dead;
dxspriteEngine.Engine.Dead;
end
else
RenderPlay;
end;....
Bookmarks