У меня есть следующий пример кода в тестовом проекте DUnitX, который не компилируется. Область действия этого примера кода идентична коду, который компилируется без ошибок в очень большом проекте форм VCL. Оба проекта используют Delphi XE4, но когда я ссылаюсь на исходный файл, который успешно компилируется в проекте VCL в моем проекте модульного тестирования DUnitX, происходит сбой с тем же E2064 левая сторона не может быть назначена этот код выдает:
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
type
TTestRec = record
A: string;
end;
const
AConstArray : array [0..1] of TTestRec = ( (A: '1'), (A: '2') );
procedure E2064Test;
begin
{$J+}
{$WRITEABLECONST ON}
AConstArray[0].A := '3'; // error here
AConstArray[1].A := '4'; // error here
{$WRITEABLECONST OFF}
{$J-}
end;
begin
end.
Есть ли переключатель компилятора или какой-то другой странный путь/настройка, который мне нужно указать, чтобы этот код скомпилировался для моего тестового проекта DUnitX в XE4?
var
вместоconst
? - person Remy Lebeau   schedule 20.06.2014