在Delphi 7中,为什么要为const赋值?

前端之家收集整理的这篇文章主要介绍了在Delphi 7中,为什么要为const赋值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我将一些Delphi代码从一个项目复制到另一个项目,发现它不会在新项目中编译,尽管它在旧的项目中。代码看起来像这样:
procedure TForm1.CalculateGP(..)
const
   Price : money = 0;
begin
   ...
   Price := 1.0;
   ...
end;

所以在新项目中,Delphi抱怨说“左侧不能分配” – 可以理解!但是这个代码在旧的项目中编译。所以我的问题是,为什么?是否有一个编译器开关来允许const被重新分配?这甚至如何工作?我以为const在编译时被它们的值替换了?

解决方法

您需要打开可分配的类型常量。

项目 – >选项 – >编译器 – >可分配类型的常量

此外,您可以向pas文件添加{$ J}或{$ WRITEABLECONST ON},这可能更好,因为即使将文件移动到另一个项目也可以使用。

猜你在找的Delphi相关文章