![]() |
EAccessViolation in BitBlt
Delphi-Quellcode:
PicFlame0.Canvas.Handle
TfrmDraw = class(TForm)
PicFlame0: TImage; BitBlt(DC, k - 1, trunc(Abs(63 - TRA[k])), 1, 63, PicFlame0.Canvas.Handle, 0, 0, SRCCOPY); verursacht ein AV ? Noch nie erlebt sowas. wenn ich es so übergebe funktioniert es
Delphi-Quellcode:
was ist das denn für ein trick :gruebel:
DC2 := PicFlame0.Canvas.Handle;
BitBlt(DC, k - 1, trunc(Abs(63 - TRA[k])), 1, 63, DC2 , 0, 0, SRCCOPY); Das Bitmap ist 1 Pixel in der weite und 64 Pixel hoch. gruss EMil |
Re: EAccessViolation in BitBlt
Müsste es nicht eigentlich so funktionieren:
PicFlame0.Picture.Bitmap.Canvas.Handle |
Re: EAccessViolation in BitBlt
Zitat:
Danke! gruss Emil |
Re: EAccessViolation in BitBlt
TImage.Canvas leitet auf das entsprechende Bild weiter. Wenn also in Picture.Graphic eine TBitmap liegt, dann ist TImage.Canvas = TImage.Picture.Bitmap.Canvas. Liegt keine drin, wird die z.B. beim Zugriff auf die Eigenschaft TImage.Picture.Bitmap mit den aktuellen Dimensionen des TImages erzeugt.
Warum hast du den Fehler nicht mal debuggt? Einfach in den Projektoptionen unter Compiler nen Häkchen in Debug-DCUs, dann kannst du die delphieigenen Units debuggen. (Es sei denn man hat ne Personal Edition, Turbo Delphi Explorer geht aber natürlich.) |
Re: EAccessViolation in BitBlt
Zitat:
Weil ich den trick mit "nen Häkchen in Debug-DCUs" noch nicht kannte. Werd es mir für die zukunft merken. gruss Emil |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz