0

我正在尝试使用Writeable structured constsdcc32 的参数(-J$+ 开关),但它不起作用。示例代码:

program Project2;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

const
  TEST : array [0..3] of string =
    ('1', '2', '3', '4');

begin
  try
    TEST[1] := '1';
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.

命令:DCC32.EXE .\Project2.dpr -$J+

错误:Project2.dpr(16) Error: E2064 Left side cannot be assigned to

如果我修改 dproj 添加<DCC_WriteableConstants>true</DCC_WriteableConstants>选项,项目将在 IDE 中编译。

我有一个包含许多包的项目,并且这个包(出于某种我不知道的原因,但我无法修改它)在他们的 dproj 中有 DCC_WriteableConstants。当我尝试编译使用此包的项目时,dcc 必须重新编译此包中的某些单元,编译器会引发错误。

我使用的参数错误吗?有什么想法?

更新

将标志添加到cfg文件中,它可以工作。但问题仍然存在。这个或其他标志只能使用 cfg 文件吗?或者它是一个错误?

4

0 回答 0