如果我使用内联声明的记录变量来构建动态记录数组,则会出现访问冲突错误。不会一直发生,而是切换回记录变量的常规声明,但我没有看到错误。我想知道这是内联变量声明的限制还是我做错了什么。
procedure TForm1.FormCreate(Sender: TObject);
Type
RFruit = record
FruitName : string;
FruitBitMask : Int64;
end;
Var
//AFruitRec : RFruit;
Fruits : array of string;
FruitList : array of RFruit;
begin
Fruits := ['Orange','Apple','Pear','Peach','Grape'];
Var AFruitRec : RFruit;
for var i :integer := 0 to length(Fruits) - 1 do
begin
AFruitRec.FruitName := Fruits[i];
AFruitRec.FruitBitMask := Int64(1) SHL i;
FruitList := FruitList + [AFruitRec];
end;
end;