Pues simplemente eso, ¿¿TFont es una clase puntero??, tengo un ejemplo que parece que lo confirma, pero me ralla la tira...
Código Delphi
[-]unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
Fuente: TFont;
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Fuente := Label1.Font;
Fuente.Color := clWhite;
Label2.Font := Fuente;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Fuente := TFont.Create;
Label1.Font.Size := 20;
end;
end.
es muy sencillo dos labels y un boton,
supuestamente despues de pulsar el boton teniamos que tener 2 etiquetas con tamaño de fuente 20 una blanca y otra negra, pero no es asi, tenemos 2 etiquetas de tamaño 20 de color
blanco las dos!!!!
parece ser que cuando cambio la propiedad "color" de la variable fuente se cambia tambien en la label1, como si realmente no existiera la variable como un objeto sino simplemente como una referencia hacia label1.font
¿es normal esto? ¿os pasa a todos? ¿lo sabias? ¿como narices se puede saber, que no sea el metodo prueba y ensayo, si una clase es una "clase puntero" o tiene "datos propios"? y ya por ultimo, ¿como hariais para acabar con una etiqueta de cada color de una manera "elegante" y sin usar mas etiquetas no visibles y cosas de esas?
por supuesto la mayoria de las preguntas de arriba no esperan respuesta, es una manera de hablar, tranquis!!!
Saludos.
PD: Supongo que no tendra nada que ver pero uso Turbo Delphi Explorer en WinXP