Einzelnen Beitrag anzeigen

profmaster

Registriert seit: 9. Feb 2005
Ort: Frakfurt/Oder
21 Beiträge
 
Delphi 7 Professional
 
#1

Rätselhafte EInvalidGraphicOperation

  Alt 18. Okt 2005, 19:47
Hallo!

Wie die Themenüberschrift schon sagt, kann ich mir die genannte Exception nicht erklären.

Hier ist die Methode, in der sie auftritt:

Delphi-Quellcode:
constructor TScreen64. Create( YourCanvas: TCanvas; xres,yres: Longint;pixf:TPixelFormat);
begin
  WasAssigned:= False;
  gCanvas:= YourCanvas;
  bmWidth:= xres;
  bmHeight:=yres;

  bmBitsPixel:= pixf;
  bmBpp:= (bmBitsPixel + 7) shr 3;

  BackBuffer:= TBitmap. Create; {new back buffer}  //Bitmap wird ordnungsgemäß erzeugt
  BackBuffer. Width:= bmWidth;
  BackBuffer. Height:= bmHeight; //Der integrierte Debugger zegt mir den Wert 97
                                  //Das kann nicht zu groß sein

  case bmBitsPixel of
    pf8bit: BackBuffer. PixelFormat:= Graphics.pf8bit;
    pf15bit: BackBuffer. PixelFormat:= Graphics.pf15bit;
    pf16bit: BackBuffer. PixelFormat:= Graphics.pf16bit;
    pf32bit: BackBuffer. PixelFormat:= Graphics.pf32bit;
    else
      raise exception.Create('Unsupported pixel format!');
  end;
//------------------------------------------------------------------------------
  bmBits:= BackBuffer.ScanLine[ BackBuffer.Height]; //Hier kommt die Exception
//------------------------------------------------------------------------------
  Longint( bmBits):= Longint( bmBits) + bmBpp* (BackBuffer.width); {seek to end of DIB}
  SetupBits;
  SetClipper();
end;
Kann mir jemand helfen. Warum läuft dieser Code nicht. TBitmaap ist die Klasse aus der Graphics Unit.

Ratlose Grüße von

profmaster
  Mit Zitat antworten Zitat