How error produce this line? In Delphi 2005 it not works fine (must be local variable like code bellow), please see document about changes.

Code:
procedure TFormGame.BackGroundCreate; 
var 
i,j: integer; 
q: TBackgroundSprite;
begin 
    q := TBackground.Create(DXSpriteEngine.Engine);
    with q do 
    begin 
      SetMapSize(200, 10); 
     q.Image:= DXImageList.Items[10];  //----------- ERROR HERE 
     Y:= 10; 
      Z:= -22; 
      FSpeed:= 0.5; 
      Tile:= TRUE; 

      for I:= 0 to MapHeight-1 do 
        for J:= 0 to MapWidth-1 do 
          begin 
            Chips[J, I]:= Image.PatternCount-Random(Image.PatternCount div 8); 
            if Random&#40;100&#41; < 95 then Chips&#91;J, I&#93;&#58;= -1; 
          end; 
    end;