Ver Mensaje Individual
  #7  
Antiguo 30-05-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Delphius.

Al tratar con apuntadores es totalmente correcta tu apreciación, como queda claro en este ejemplo:
Código Delphi [-]
var
  f1, f2: TFont;
begin
  f1 := TFont.Create;
  f2 := TFont.Create;

  f2 := f1;   // (*) f2.Assign(f1) 
  f1.Free;

  f2.Color := clRed;  // ¡ Error, f2 no es un apuntador válido !
Lo correcto sería usar el método Assign (*), que copia las propiedades a la otra instancia de TFont.

Pero para el código anterior:
Código Delphi [-]
   Label1.Font := FontBase;
   Edit1.Font := FontBase;
   Memo1.Font := FontBase;
  ...
Font , que estos componentes heredan de TControl, está definida como una propiedad:
Código Delphi [-]
  TControl = class(TComponent)
  ...
    property Font: TFont read FFont write SetFont stored IsFontStored;
  ...
  end;
...
procedure TControl.SetFont(Value: TFont);
begin
  FFont.Assign(Value);  
end;
por lo que en el caso anterior, no se trataría de una asignación de punteros.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 30-05-2015 a las 13:46:45. Razón: sintáxis
Responder Con Cita