![]() |
'Leinwand/Bild erlaubt kein Zeichnen'
Was sagt mir diese Fehlermeldung?
Delphi-Quellcode:
Es hat wohl was mit der Canvas zu tun, aber was genau?
Im Projekt projekt1.exe ist eine Exception der Klasse EInvalidOperation aufgetreten. Meldung: 'Leinwand/Bild erlaubt kein Zeichnen'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
|
Das wird wohl der Canvas sein. Hast Du ein JPEG in ein TBitmap geladen. Soweit ich weiss, ist der Canvas bei JPEGs "schreibgeschützt" - kann mich aber irren :D
...:cat:... |
hm, eigentlich nicht...
das Programm enthält ein paar selbstgeschriebene Komponenten die alle von TPaintBox abgeleitet sind. Jeder dieser Komponenten hat eine Funktion DrawBackGround die etwas in ein komponenteninternes Bitmap schreibt. Das OnPaint-Ereigniss der Komponenten hab ich überschrieben und kopiere per Canvas.Draw(0,0,BackGround) das Bitmap auf die/der/das Canvas. Im Normalfall klappt das auch ohne Probleme, sobald ich aber ein anderes Fenster vor meinem Programmfenster wie wild hin und her schiebe taucht der oben genannte Fehler nach spätestens 15 Sekunden auf. Die Paint-Routine hab ich folgendermaßen überschrieben:
Delphi-Quellcode:
Stimmt das so?
procedure TTest.Paint;
begin inherited Paint; Canvas.Draw(0,0,background); ZeichneWasAnderes; end; |
Hi !
Diesen Fehler bekomme ich auch ständig. Bei mir liegt das einfach am Speicher. D.h., wenn Du viel debuggst und dir das Programm abstürzt, dann werden normalerweise die Variablen etc. nicht mehr freigegeben. Meistens nützt ein gutes Memory-Defrag-Tool. Ansonsten: reboot !!!! Gruß, Helld |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:59 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