Sono curioso di sapere perché Delphi tratta di record proprietà del tipo di sola lettura:"lato sinistro non può essere assegnato a" per le proprietà di tipo record 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;
Se provo ad assegnare un valore a una delle i membri di proprietà Rec, vado a prendere "lato sinistro non può essere assegnato a" errore:
procedure TForm1.DoSomething(ARec: TRec);
begin
Rec.A := ARec.A;
end;
mentre si fa la stessa cosa con il campo sottostante è consentito:
procedure TForm1.DoSomething(ARec: TRec);
begin
FRec.A := ARec.A;
end;
C'è qualche spiegazione per questo comportamento?
saluti
+1 finito qui 4 anni dopo la tua risposta! –