Hi!
Ich hab ein Problem: Mein Delphi sagt
Access violation bei 2 dynamischen Arrays.
Mein Quelltext:
Delphi-Quellcode:
var
sl: TStringList;
FBild1, FBild2: Array of TColor;
i1, i2: Integer;
begin
sl := TStringList.Create;
sl.Add('*** Bild1 ***');
sl.Add('');
For i1 := 0 to Image1.Picture.Width do
begin
For i2 := 0 to Image1.Picture.Height do
begin
FBild1[Image1.Picture.Bitmap.Canvas.Pixels[i1,i2]] := FBild1[Image1.Picture.Bitmap.Canvas.Pixels[i1,i2]]+1;
FBild2[Image2.Picture.Bitmap.Canvas.Pixels[i1,i2]] := FBild2[Image2.Picture.Bitmap.Canvas.Pixels[i1,i2]]+1;
end;
end;
For i1 := Low(FBild1) to High(FBild1) do
begin
If FBild1[i1] <> 0 then
sl.Add('Farbwert: '+IntToStr(i1)+'; Vorhanden: '+IntToStr(FBild1[i1])+'x');
end;
sl.Add('');
sl.Add('*** Bild2 ***');
sl.Add('');
For i2 := Low(FBild2) to High(FBild2) do
begin
If FBild2[i2] <> 0 then
sl.Add('Farbwert: '+IntToStr(i2)+'; Vorhanden: '+IntToStr(FBild2[i2])+'x');
end;
ShowMessage(sl.GetText);
sl.Free;
Ist da ein Fehler drinn?
Das Programm soll ausgeben, wieviel Farbwerte in 2 Bildern sind.
Danke