![]() |
Icon wird aus TImage gelöscht - warum?
Siehe Mein Code unten.
wenn in der TImage nen icon geladen - udn dann auf den Button klicke. so ist mein icon aus der Timage verschwunden. ;-( WARUM?
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var Bitmap: TBitmap; Icon: TIcon; begin Icon := TIcon.Create; Bitmap := TBitmap.Create; try Icon := Image1.Picture.Icon; Bitmap.Width := Icon.Width; Bitmap.Height := Icon.Height; Bitmap.Canvas.Draw(0, 0, Icon); finally Bitmap.Free; Icon.Free; end; end; |
Re: Icon wird aus TImage gelöscht - warum?
Zitat:
Delphi-Quellcode:
Mal ehrlich, für mich macht deine Procedure keinen Sinn... außer dass du das Icon aus dem Image freigibst...
procedure TForm1.Button2Click(Sender: TObject);
var {...} Icon: TIcon; begin {...} Icon := Image1.Picture.Icon; {...} finally {...} Icon.Free; end; end; Zudem erzeugst du auch noch ein Speicherleck, weil du das Erzeugte TIcon nichmehr freigibst... Bye christian |
Re: Icon wird aus TImage gelöscht - warum?
Hallo
Als Hilfe etwas genauer: Deine Variable "Icon" ist für Speichertechnisch nur ein Zeiger (4Byte) auf das eigentliche Objekt (x Byte). Mit einer Zuweisung
Delphi-Quellcode:
werden eigentlich nur die Inhalte der Zeiger ausgetauscht... Dein durch Create angelegtes Object und der Zeiger darauf gespeichert in Variable Icon1 hast du damit überschrieben .. Das genannte Speicherleck....
Icon1 := Icon2
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:12 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 by Thomas Breitkreuz