Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#7

Re: Ich und die Pointer... die nicht so wollen wie ich

  Alt 20. Sep 2007, 22:37
Welche Exception tritt denn nun auf - AV, Bereichsprüfung oder beides? Bei der Bereichsprüfung darfst du dich nicht wundern, wenn du mit einem "array[0..0]" arbeitest, am Besten also ausschalten oder - was wohl sauberer wäre - einen PColor32-Zeiger per @bmp.Bits[0] holen und dann inkrementieren.
Und wie gesagt, in der Doku fehlt die Dereferenzierung ebenfalls:
Delphi-Quellcode:
var

  P: PColor32Array;

begin

  P := Bitmap32.Bits;

  for I := 0 to Bitmap32.Width * Bitmap32.Height - 1 do

    P[I] := Gray32(Random(255)); // fill with a random grayscale noise

end;
Das sollte aber alles nicht zur AV führen. Außer dem bereits erwähnten ZeroMemory fällt mir in dem Zusammenhang nur noch eines auf: Dein DataArray ist um ein Item zu kurz.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat