AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TBitmap free? Invalid Pointer Operation

Ein Thema von cltom · begonnen am 9. Okt 2007 · letzter Beitrag vom 9. Okt 2007
 
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

Re: TBitmap free? Invalid Pointer Operation

  Alt 9. Okt 2007, 11:20
Die Einwände wären lediglich das du wohl nicht weiß warum das so ok ist. Ansonsten ist es ok

folgendes ist dein Ausgangspost:
Delphi-Quellcode:
var
  bmp : TBitmap;

begin
  bmp := TBitmap.Create; //1
  bmp := Image1.Picture.Bitmap; //2
  
  (snip)

  bmp.free; //3
end;
zu beachten ist aber das Image1.Picture.Bitmap von Image1 (TImage) bereits erstellt (TBitmap.Create()) wurde.

genau genommen machst du im Ausgangspost folgendes:
1.) Du forderst Speicher an und weißt merkst dir die Adresse darauf in der Variablen "bmp"
2.) Du lässt die Variable "bmp" jetzt auf Image1.Picture.Bitmap zeigen. Jetzt zeigt aber nichts mehr auf den zuvor angeforderten Speicher der mit "TBitmap.Create" angefordert wurde. Dadurch kannst du den Speicher nicht mehr frei geben und hast ein Speicherleck
3.) Du gibst den Speicher frei welchen Image1 (TImage) angefordert hat. Du solltest aber generell nur Dinge frei geben die du auch selbst angefordert hast. Das hattest du sicher auch vor was aber durch
bmp := Image1.Picture.Bitmap; in die Hose geht.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08: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