För att ta hand om det mest jobbiga felet med att programmet hänger sig i en enorm kavalkad av showmessages.
Din except hantering var fel. Inget semikolon efter except utan
ta bort det och sätt dit begin och end.
-----------------------
procedure TForm1.DrawTitles(ThisX,ThisY:Integer);
var x, y, CountX, countY: integer;
Img : TBitMap;
begin
Img := TBitMap.Create();
CountX := 0;
CountY := 0;
try
for y := ThisY to TITLES_HEIGHT do
begin
For x := ThisX to TITLES_WIDTH do
begin
Img.LoadFromFile('graphic\'+Titles[x][y].Image[0]);
Buffer.Canvas.Draw(CountX * 64, 64-Img.Height+CountY*64, Img);
inc(CountX);
end;
CountX := 0;
inc(CountY);
end;
except
begin
showmessage('Fel i programet!');
close;
end;
end;
---------------------------
I init rutinen kör du
for i := 0 to (length(S) + 1) div 4 do
men det blir från 0 till 10 med den world filen, alltså 11st repititioner. Det finns bara 10st i filen så lägg till -1.
for i := 0 to ((length(S) + 1) div 4)-1 do
Det funkar inte ändå riktigt, men det är en bit på vägen...
Lägg gärna upp en länk med DirectX komponenterna du använder så vi kan kompilera på riktigt.