Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   DeleteObject (https://www.clubdelphi.com/foros/showthread.php?t=25511)

taita 25-09-2005 12:24:29

DeleteObject
 
Hola a tod@s:
Tengo cinco TImage colocados en un formulario, a los que les he modificado posiciones y tamaños.
Utilizo el siguiente código para cargar las imágenes desde un archivo de recursos:
Código:


  image1.Picture.Bitmap.Handle:=loadbitmap(HInstance,'billete1');
  image2.Picture.Bitmap.Handle:=loadbitmap(HInstance,'billete2');
  image3.Picture.Bitmap.Handle:=loadbitmap(HInstance,'billete3');
  image4.Picture.Bitmap.Handle:=loadbitmap(HInstance,'billete4');
  image5.Picture.Bitmap.Handle:=loadbitmap(HInstance,'billete5');

He leído en varios sitios que al utilizar LoadBitmap se deberían liberar los recursos con DeleteObject.
¿Alguien me puede explicar como debería hacerlo en este caso?
¿Que sucedería en el caso de no liberar los recursos?

Gracias por anticipado.

dec 26-09-2005 06:18:12

Hola,

Efectivamente en la ayuda de la función "LoadBitMap" que puede encontrarse en el SDK de Win32 (disponible en Delphi) puede leerse al final del todo:

Cita:

Empezado por SDK de Win32
The application must call the DeleteObject function to delete each bitmap handle returned by the LoadBitmap function.

Que en cristiano vendría a decir poco más o menos que la aplicación debe llamar a "DeleteObject" por cada "Handle" retornado por la función "LoadBitMap".

No sabría explicarlo (lo he intentado, quizá no lo suficiente, esto sí) pero casi estoy seguro de que no tienes que ocuparte tú mismo de usar "DeleteObject" pues de eso se encargan las clases de que te vales (creo que el destructor de la clase "TBitmapImage").

Si echas un vistazo a las clases "TBitMap" y "TBitmapImage" verás al menos lo que yo he visto para concluir por decir lo que he dicho arriba: quizás tú seas capaz de explicarlo mejor que yo; quizás alguien pueda y aun deba contradecirme. ;)


La franja horaria es GMT +2. Ahora son las 05:58:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi