Delphi为命令行生成设置可分配常量True
在使用RAD Studio命令提示符构建项目时,出现以下错误: 错误E2064:无法将左侧分配给 我知道这与可分配类型常量问题有关,我知道在Embaracadero编译器中在何处打开它,但是我需要在编译器外部设置此设置 我的配置文件当前如下所示:Delphi为命令行生成设置可分配常量True,delphi,command-prompt,Delphi,Command Prompt,在使用RAD Studio命令提示符构建项目时,出现以下错误: 错误E2064:无法将左侧分配给 我知道这与可分配类型常量问题有关,我知道在Embaracadero编译器中在何处打开它,但是我需要在编译器外部设置此设置 我的配置文件当前如下所示: <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <DCC_HppOutput>c:\
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<DCC_HppOutput>c:\d64\DCUfiles</DCC_HppOutput>
<DCC_ObjOutput>c:\d64\DCUfiles</DCC_ObjOutput>
<DCC_UnitSearchPath>c:\d64\sf\cis;C:\d64\Dcu64;C:\d64\ProkonRibbon;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
<Icon_MainIcon>Frame_Icon.ico</Icon_MainIcon>
<DCC_LocalDebugSymbols>true</DCC_LocalDebugSymbols>
<VerInfo_Release>67</VerInfo_Release>
<DCC_ImportedDataReferences>false</DCC_ImportedDataReferences>
<DCC_StrictVarStrings>false</DCC_StrictVarStrings>
<DCC_Define>_VER7;_VER7;_VER7;_VER7;$(DCC_Define)</DCC_Define>
<DCC_DcuOutput>c:\d64\Dcu64</DCC_DcuOutput>
<DCC_ExeOutput>c:\prokon\bin64</DCC_ExeOutput>
<VerInfo_Keys>CompanyName=;
FileDescription=;
FileVersion=2.6.67.0;
InternalName=;
LegalCopyright=;
LegalTrademarks=;
OriginalFilename=;
ProductName=;
ProductVersion=2.6.67.0;
Comments=23 Jul 2015
</VerInfo_Keys>
<VerInfo_Locale>1033</VerInfo_Locale>
<VerInfo_MinorVer>6</VerInfo_MinorVer>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
<Borland.ProjectType>OptionSet</Borland.ProjectType>
<BorlandProject>
<Delphi.Personality/>
</BorlandProject>
<ProjectFileVersion>12</ProjectFileVersion>
</ProjectExtensions>
c:\d64\d文件
c:\d64\d文件
c:\d64\sf\cis;C:\d64\Dcu64;C:\d64\ProkonRibbon$(DCC_单元搜索路径)
Frame_Icon.ico
真的
67
假的
假的
_VER7_VER7_VER7_VER7$(DCC_定义)
c:\d64\Dcu64
c:\prokon\bin64
公司名称=;
FileDescription=;
FileVersion=2.6.67.0;
内部名称=;
LegalCopyright=;
LegalTrademarks=;
原始文件名=;
产品名称=;
ProductVersion=2.6.67.0;
评论=2015年7月23日
1033
6.
Delphi.Personality.12
视起效
12
是否有方法设置此文件中的可分配类型常量属性?在
标记中添加
<DCC_WriteableConstants>true</DCC_WriteableConstants>
不打算使用此功能。您需要禁用它,而不是启用它。这将是第二个最可取的选项,最可取的是更改代码,这样就不需要
WRITEABLECONST
(正如David已经指出的那样)。:-)@乌利格哈特除非我看到有证据表明有人会用某种特征射中自己的脚,否则我更愿意回答这个问题:)好吧,吹毛求疵的角落。OP询问如何在*.dproj中设置选项。你的答案进入*.pas.:-P@UliGerhardt没错,但我的建议与他的情况有关。由于在没有启用可分配类型常量的情况下无法编译代码,因此将指令放入编译器的最佳位置是源代码本身。它减轻了编辑和依赖.dproj文件中的细节的需要,这些细节有时被视为临时文件,可以被开发人员删除,也可以被IDE弄乱。我必须承认,我的代码中也有一两个{$WRITEABLECONST on}
,用于在函数范围内模拟C静态变量。
const
{$WRITEABLECONST ON}
x: integer = 1;
{$WRITEABLECONST OFF}
y: integer = 2;
begin
writeln(x); // -> 1
x := 3;
writeln(x); // -> 3
y := 4; // does not compile
end.