Einzelnen Beitrag anzeigen

Thebe

Registriert seit: 26. Jul 2004
Ort: Wedel
78 Beiträge
 
Delphi 6 Enterprise
 
#1

Freigabe des Bitmap Handles trotz Freigabe der TBitmap ?

  Alt 12. Apr 2005, 16:23
Moin moin

Ich arbeite gerade stark mit Bitmaps die per Res Dateien mit in die EXE kompiliert werden und da fällt mir bei MSDN-Library durchsuchenLoadBitmap auf, das man die von LoadBitmap zurückgegebenen Handles wieder löschen muss via MSDN-Library durchsuchenDeleteObject.

Nur frage ich mich nun, muss ich um wirklich sauber zu sein im Punkto Speicherleck, das in der folgenden Situation benutzen ??

Delphi-Quellcode:
try
    BMP := TBitmap.Create;
    BMP.Handle := LoadBitmap(HInstance, 'IrgendEineBMP');

    BMP.TuIrgendwas;

    [...]

finally
    BMP.Free;
end;
Ich bin stark der Meinung ich müßte in diesem Falle das Handle nicht killen, lasse mich aber gerne berichtigen. Was meint ihr dazu ?? Und wenn ja, kann ich das Handle killen BEVOR ich die Bitmap wieder freigebe via

Delphi-Quellcode:
try
    [...]
finally
    DeleteObject(BMP.Handle);
    BMP.Free;
end;
Oder muss ich das Handle zwangsweise rückspeichern weil das Killen des Handles während es in Benutzung is auch das Bitmap verschießen würde ?

Vielen Dank schon mal im Vorraus

- Thebe
  Mit Zitat antworten Zitat