Ver Mensaje Individual
  #9  
Antiguo 26-06-2008
JerS JerS is offline
Miembro
 
Registrado: may 2005
Ubicación: Venezuela
Posts: 254
Reputación: 19
JerS Va por buen camino
Cita:
Empezado por roman Ver Mensaje
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

Código Delphi [-]image1.picture := nil;


se traduce en

Código Delphi [-]image1.SetPicture(nil);


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


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
Código Delphi [-]
                    try
                      image1.Picture.LoadFromFile(valor+foto);
                    except
                    on e: exception Do
                    escribir('*****Exepcion cargando la foto'+'  '+e.Message);
                    end;


después revienta otra vez
Código Delphi [-]
                    try
                      image1.Picture:=nill;
                    except
                    on e: exception Do
                    escribir('*****Exepcion limpiar la foto'+'  '+e.Message);
                    end;
__________________
La vida es un simple pero complejo If

J=rS
Responder Con Cita