Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - AccesViolation :(


Green - Fr 21.07.06 13:46
Titel: AccesViolation :(
bei folgender (noch unnötiger) Proc kriege ich in der markierten Zeile, schon beim ersten durchlauf, also X=0 und Y=0 eine AccesViolation:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure ExtractImage(const ReadImage: TImage; ExtractColor: TColor; var WriteCanvas: TCanvas);
  var
    x, y: integer;
begin
  for x := 0 to ReadImage.Width do begin
    for y := 0 to ReadImage.Height do begin
      WriteCanvas.Pixels[x, y] := ReadImage.Canvas.Pixels[x, y];
    end;
  end;
end;


Kann mir jemand sagen wo der Fehler ist???

€: Fehler gefunden, kann gelöscht werden.
Wens interessiert: Hab vergessen bei WriteCanvas (Jetzt WriteImage) die Höhe und Breite zu setzen --> AccesVilation.


digi_c - Mo 24.07.06 13:20

var WriteCanvas kommt mri auch ein wenig komisch vor.
Dadurch wäre es dir innerhalb der Prozedur möglich den übergebenen Canvas auf einen anderen umzuhängen/zu löschen,... , was bestimmt nicht beabsichtigt ist.


Bääääär - Mo 24.07.06 14:49


Delphi-Quelltext
1:
 WriteCanvas.Pixels[x, y] := ReadImage.Bitmap.Canvas.Pixels[x, y];                    

Vielleicht so? Ansonsten wüsste ich nicht, was du falsch gemacht hast. Vielleicht liegt es am ReadImage oder am WriteCanvas.

€ Oh, hatte nicht gesehen, dass du den Fehler schon gefunden hast. Sorry!