我将一些 Delphi 代码从一个项目复制到另一个项目,发现它在新项目中无法编译,但在旧项目中可以编译。代码看起来像这样:
procedure TForm1.CalculateGP(..)
const
Price : money = 0;
begin
...
Price := 1.0;
...
end;
因此,在新项目中,Delphi 抱怨“左侧无法分配给” - 可以理解!但这段代码是在旧项目中编译的。所以我的问题是,why?是否有编译器开关允许重新分配 const?那到底是如何运作的呢?我认为常量在编译时被它们的值替换了?
您需要打开可分配的类型常量。
项目 -> 选项 -> 编译器 -> 可分配类型常量
您还可以添加{$J+}
or {$WRITEABLECONST ON}
到 pas 文件,这可能更好,因为即使您将文件移动到另一个项目它也会工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)