Ver Mensaje Individual
  #5  
Antiguo 04-07-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Cita:
Empezado por dec
Muy bien puede ser como dices.
Parece que mi respuesta no fue demasiado explicativa.

La cuestión es que la propiedad Picture del TImage nunca es igual a nil, FPicture, la variable interna que se corresponde con la propiedad Picture, se crea en el método Create del TImage y no se destruye hasta que lo hace el TImage.

Incluso si hacemos lo siguiente:
Código Delphi [-]
Image1.Picture:= nil;
Picture seguirá sin valer nil, porque el método para asignar esa propiedad es el siguiente:
Código Delphi [-]
procedure TImage.SetPicture(Value: TPicture);
begin
  FPicture.Assign(Value);
end;
Y el método Assing del TPicture es:
Código Delphi [-]
procedure TPicture.Assign(Source: TPersistent);
begin
  if Source = nil then
    SetGraphic(nil)
  else if Source is TPicture then
    SetGraphic(TPicture(Source).Graphic)
  else if Source is TGraphic then
    SetGraphic(TGraphic(Source))
  else
    inherited Assign(Source);
end;
Como ves solo se ve afectada la propiedad Graphic del TPicture.

Y después de todo este rollo, creo que queda claro porque se debe examinar la propiedad Graphic
Responder Con Cita