Memleak bei TBitmap nach LoadfromFile?

Rund um die LCL und andere Komponenten
Antworten
Leberecht
Beiträge: 73
Registriert: Fr 28. Mai 2010, 08:39
OS, Lazarus, FPC: Win7 64bit, Lazarus 1.6.0 32bit (FPC 3.0.0)
CPU-Target: 32Bit
Wohnort: Heidelberg

Memleak bei TBitmap nach LoadfromFile?

Beitrag von Leberecht »

hi there,

bin gerade auf ein problem beim verwenden von TBitmap in zusammenhang mit LoadFromFile gestoßen. und zwar gibt es immer ein memoryleak nach .free,
egal was ich mache. das ganze ist eigentlich trivial (dachte ich zumindest):

Code: Alles auswählen

 
var
icon:TBitmap;
 
begin
icon:=TBitmap.Create;
icon.LoadFromFile('grafiken'+DirectorySeparator+'icon_schloss.bmp');
icon.FreeImage;
icon.Free;
 
das laden und anzeigen klappt alles, nur nach dem freigeben sagt mir heaptrc das speicher nicht freigegeben wurde. ich nutze lazarus 1.2 win32.
was mache ich falsch?
„Viel zu lernen du noch hast.“
(Yoda zu Dooku)

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Memleak bei TBitmap nach LoadfromFile?

Beitrag von Socke »

Leberecht hat geschrieben:das laden und anzeigen klappt alles, nur nach dem freigeben sagt mir heaptrc das speicher nicht freigegeben wurde. ich nutze lazarus 1.2 win32.
was mache ich falsch?
An sich sieht das korrekt aus. Mit Version 1.1 (Revision 32390) habe ich kein Speicherleck; möglicherweise ist das ein neuer Fehler, der auf http://bugs.freepascal.org erfasst werden sollte.

P.S. Gegebenenfalls kann das von deinem spezifischen Bild abhängen. Tritt der Fehler auch bei anderen Dateien auf?
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Leberecht
Beiträge: 73
Registriert: Fr 28. Mai 2010, 08:39
OS, Lazarus, FPC: Win7 64bit, Lazarus 1.6.0 32bit (FPC 3.0.0)
CPU-Target: 32Bit
Wohnort: Heidelberg

Re: Memleak bei TBitmap nach LoadfromFile?

Beitrag von Leberecht »

ich habe dasselbe mit einem speedbutton probiert, also button.glyph.loadfromfile, das geht ohne probleme und ohne leck. letztendlich wollte ich genau das, ein image erstellen, laden und dem button zuweisen. naja, hab ja nun eine lösung, direktes laden über den button.
„Viel zu lernen du noch hast.“
(Yoda zu Dooku)

Antworten