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:
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