Tengo curiosidad por saber por qué Delphi trata propiedades de tipo de registro como de sólo lectura:"lado izquierdo no se puede asignar a" para las propiedades de tipo de registro en Delphi
TRec = record
A : integer;
B : string;
end;
TForm1 = class(TForm)
private
FRec : TRec;
public
procedure DoSomething(ARec: TRec);
property Rec : TRec read FRec write FRec;
end;
Si trato de asignar un valor a cualquiera de los miembros de la propiedad Rec, voy a conseguir "lado izquierdo no se puede asignar a un" error:
procedure TForm1.DoSomething(ARec: TRec);
begin
Rec.A := ARec.A;
end;
mientras se hace lo mismo con el campo subyacente se permite:
procedure TForm1.DoSomething(ARec: TRec);
begin
FRec.A := ARec.A;
end;
¿Hay alguna explicación para ese comportamiento?
Saludos
1 Topamos con este 4 años después de su respuesta! –