Hey. Why not better:

Proyectiles:array[0..10] of TBitmap;

//if you nedd more so use a function to Increase the array


if theKey=VK_SPACE then
inc(i);
Proyectiles[i].Create;
Proyectiles[i].LoadFromFile('missile.bmp');
initx:=Hero.X;
for j:=initx to ClientWidth do
begin
inc(j,10);
Hero.x:=j;
end;


That is what I would do it.. i suppose it´s right