【发布时间】:2011-10-04 07:13:51
【问题描述】:
我想在 D2010 下的测试用例中使用 for in 语句。
如果我想写入 Param.Value 变量,那么编译器会报告错误 2064,但允许从同一记录写入 Param.Edit.text,为什么?
测试用例:
type
//
TparamSet = (param_A, param_B, param_C, param_D, param_E, param_F);
TParam = record
Edit :TEdit;
Value :integer;
end;
var
dtcp :array [TparamSet] of TParam;
procedure ResetParams;
var
Param :TParam;
A :Integer;
begin
for Param in dtcp do
begin
Param.Edit.text:= 'Test'; //No problem
A := Param.Value; //No problem
Param.Value := 0; //Error: E2064 Left side cannot be assigned to;
end;
end;
【问题讨论】:
标签: delphi delphi-2010 for-in-loop