![]() |
Fehler in der Delphi-Hilfe?
Hallo
ich habe gestern das Beispiel zu TCanvas.CopyRect aus der Delphi-Hilfe ausprobiert. Da trat ein EInvalidOp Error auf. Die Fehlermeldung hieß Canvas/Leinwand erlaubt kein zeichnen. Jetzt frage ich mich ob andere das Problem auch haben, oder ob ich was falsch gemacht habe. |
Poste mal den Code, da sich die Hilfe teilweise zwischen Delphi-Version unterscheidet.
...:cat:... |
Der Code geht ungefähr so:
Delphi-Quellcode:
Ich sitze gerade vor einem Rechner ohne Delphi und weiß es deshalb nicht mehr genau. Aber so in etwa sah der Code aus.
...
Bitmap := TBitmap.Create; Bitmap.LoadFromFile('BlaBla'); MyRect := Rect(0,0,100,100); MyOther := Rect(140,0,100,100); //oder so Image1.Canvas.CopyRect(MyRect, Bitmap.Canvas, MyRect); Image1.Canvas.CopyRect(MyOther, Bitmap.Canvas, MyOther); ... |
HI !
Die Fehlermeldung "Canvas/Leinwand erlaubt kein zeichnen" kommt, zumindest bei mir, wenn der Speicher voll ist. D.h. wenn ich viel herumdebugged habe und viel getestet habe, dann räumt er bei mir den Speicher nicht mehr vernünftig auf. Um den Rechner nicht jedesmal neu starten zu müssen, habe ich mir bei ![]() deren Editor heruntergeladen, welcher einen klasse RamDefragmentierer enthält !!! Hoffe, es hilft dir weiter !!!! Gruß, Helld |
Zitat:
|
Mit der Fehlermeldung "Canvas/Leinwand erlaubt kein zeichnen" hab ich vor kurzem auch Bekanntschaft gemacht. Bei mir lag es daran, dass zwei Routinen gleichzeitig auf ein Canvas gemalt haben. Um sicher zu gehen das du malen darfst, solltest du sowas hier benutzen:
Delphi-Quellcode:
wenn Lockcount <> 0 ist, dann führt ein zeichnen auf diesem Canvas zu einem Fehler, bei 0 kann man gefahrlos rummalen. Mit Lock und Unlock kannste der/die/das Canvas für dich reservieren und freigeben. Dabei sollte man immer an das freigeben denken, ansonsten gibts Probleme.
with Canvas do
if lockcount=0 then begin Lock; Brush.Color:=clLime; Canvas.Ellipse(10,20,20,40); Unlock; end; // lockcount = 0 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:30 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