![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Pero muy mas o menos. Poner una referencia a nil por sí mismo no hace nada, no libera memoria ni destruye nada, pero cualquier uso posterior que se quiera hacer de esa referencia causará un "Access violation".
// Saludos |
#2
|
|||
|
|||
hola roman, esta es una duda al respecto...
el 'garbage collection' sirve precisamente para estos casos no? por lo tanto, asignando a nil, quieras o no estas enviando este puntero 'a la papelera...', liberando su memoria. Es una duda, no una afirmacion. saludos y gracias por la respuesta |
#3
|
||||
|
||||
¡Ah! Pues ahora que lo mencionas, quizá, en los nuevos Delphi. Yo estaba pensando en Delphi <= 7 en donde no hay recolección de basura, así que muy posiblemente estés en lo correcto, disculpa.
// Saludos |
#4
|
|||
|
|||
Cita:
Muchas gracias amigos , entonces que me recomiendan para limpiar mi Timagen?
__________________
La vida es un simple pero complejo If J=rS
|
#5
|
|||
|
|||
hola otra vez,
si pones el codigo quiza te podamos ayudar mejor PD: para limpiar la imagen, personalmente dibujo un rectangulo negro o bien dibujaria la siguiente encima PDD: pues no, segun wikipedia, delphi no usa el garbage collector. Asi pues, ni con el mas o menos: asignar a nil te deja espacio en memoria reservado, bloqueado e inaccesible. saludos Última edición por coso fecha: 26-06-2008 a las 18:06:38. |
#6
|
||||
|
||||
Perdón, la verdad es que nada más estoy confundiéndolos. Y lo voy a hacer un poco más
![]() En Delphi <=7 (el resto no sé), poner una referencia a nil, como digo, no libera memoria. Pero, en el caso de una propiedad como image1.picture, normalmente sí se liberará la memoria porque la asignación
se traduce en
y muy probablemente el método SetPicture sí se encargue de liberar la memoria. De todas formas, sigue siendo cierto que si posteriormente se intenta usar image1.picture se obtendrá el error mencionado. Así que, como dice coso, lo mejor es que muestres más código para saber qué pasa. // Saludos |
#7
|
|||
|
|||
Cita:
BUeno en realidad el resto del codigo es irrelevante porque lo que hago es limiar unas variables que utilizo para asignar los nombres de las personas apellidos entre otros datos, pero yo voy documentando mi código en un archivo de texto(una especie de Log) y el codigo revienta exactamente en
después revienta otra vez
__________________
La vida es un simple pero complejo If J=rS
|
#9
|
|||
|
|||
en realidad la excepcion sale es esporadicamente no sale siempre... te explico yo muestro una ficha de personal en pantalla cuando una persona muestra su carnet contra un lector de codigo de barra luego que muestro los datos se minimiza el formulario.. pueda que se repita este proceso como unas 20 veces en 5 min mas o menos, y como puede que de el error hoy puede que no lo de, es algo esporadico, por eso es que me tiene vuelto loco
__________________
La vida es un simple pero complejo If J=rS
|
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
problema al pintar en un TImage | miguel_e | Varios | 1 | 17-05-2008 01:11:23 |
Problema con un TImage | vivamotos | C++ Builder | 5 | 24-04-2008 16:45:32 |
Problema con TImageList y Timage | Archangel | Gráficos | 1 | 07-11-2007 23:53:32 |
Problema con tImage en QReport! | paulodb | Impresión | 2 | 08-12-2006 16:14:21 |
Problema con un TImage | Jan_polero | Gráficos | 1 | 29-11-2004 23:15:11 |
![]() |
|