Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#13

Re: Inseln auf ein Image malen

  Alt 20. Mai 2007, 13:41
Hallo Fabian,

ein mehrdimensionales, dynamisches Array belegt keinen zusammenhängenden Speicherbereich. Das Löschen solltest du also besser so durchführen:

Delphi-Quellcode:
for y := 0 to High(PGrid^) do
  for x := 0 to High(PGrid^[y]) do
    PGrid^[x, y] := 0;
In der letzten Ebene (x) könntest du prinzipiell auch mit FillChar arbeiten.

In Zeile 63 ist wahrscheinlich der Endwert der y-Schleife falsch:

FOR y := AHeight - 2 DOWNTO 12 DO // 1 statt 12? Bei der Schleife zum Einfärben der Bitmap solltest du die Schleifenparameter prüfen. Der Zugriff auf PGrid^[AWidth, AHeight] dürfte ebenfalls zu einem Fehler führen. Eine einfache Verschiebung beider Laufvariablen um 1 führt allerdings zu Problemen im ELSE-Zweig.

Gruß Hawkeye
  Mit Zitat antworten Zitat