Delphi XE E2064 Left side cannot be assigned to 错误解决方法
1. 起源
此问题源于[秋风人事档案管理系统]用Delphi XE重编译中所发现。
快十年了,当初Delphi 7所编写项目,想用Delphi XE重新编译,并打算做为Free软件发布,编译错误中发现此问题,感觉颇有些意思,遂记录下来,以做备忘。
自Delphi 2009之后我转做c#之WinForm界面开发,Delphi 2010之后未实际做过项目,因此至此才遇到此问题。
此时Delphi XE更新已至XE10版。因情结而不愿XE2之后的use方法,遂决定以Delphi XE做为工具,重整老项目。
而此问题简而言之,就是当记录体(record)做为属性出现时,其赋值可否问题。
2. 赋值
比如,我有一记录体属性如下(这里以TPoint说明问题,实际项目中为自定义记录体):
type
TForm1 = class(TForm)
btnTest: TButton;
procedure btnTestClick(Sender: TObject);
private
{ Private declarations }
FPoint: TPoint;
public
{ Public declarations }
property Point: TPoint read FPoint write FPoint;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btnTestClick(Sen