我是 Delphi 的新手,并尝试Setup.e32
使用带有 Delphi 10.1 Berlin 的 Inno Setup 的源代码来编译 Inno Setup 的文件。
但问题是当我尝试编译时,我不断收到错误[dcc32 Error] uPSUtils.pas(944): E2064 Left side cannot be assigned to.
我不知道如何解决这个问题,并且还阅读了本网站中询问该错误但甚至无法确定此代码有什么问题的问题。
代码的部分:
function FastUpperCase(const s: String): string;
{Fast uppercase}
var
I: Integer;
C: Char;
begin
Result := S;
I := Length(Result);
while I > 0 do
begin
C := Result[I];
if c in [#97..#122] then
Dec (Byte(Result[I]), 32); <<<Error E2064 HERE>>>
Dec(I);
end;
end;
function FastLowerCase(const s: String): string;
{Fast lowercase}
var
I: Integer;
C: Char;
begin
Result := S;
I := Length(Result);
while I > 0 do
begin
C := Result[I];
if C in [#65..#90] then
Inc(Byte(Result[I]), 32); <<<ERROR E2064 HERE>>>
Dec(I);
end;
end;
function ParseToken(var CurrTokenPos, CurrTokenLen: Cardinal; var CurrTokenId: TPSPasToken): TPSParserErrorKind;
{Parse the token}
var
ct, ci: Cardinal;
hs: Boolean;
p: PChar;
begin
ParseToken := iNoError;
ct := CurrTokenPos;
case FText[ct] of
#0:
begin
CurrTokenId := CSTI_EOF;
CurrTokenLen := 0;
end;
'A'..'Z', 'a'..'z', '_':
begin
ci := ct + 1;
while (FText[ci] in ['_', '0'..'9', 'a'..'z', 'A'..'Z']) do begin
Inc(ci);
end;
CurrTokenLen := ci - ct;
FLastUpToken := GetToken(CurrTokenPos, CurrtokenLen);
p := pchar(FLastUpToken);
while p^<>#0 do
begin
if p^ in [#97..#122] then
Dec ((Byte(p^)), 32); <<<ERROR E2064 HERE>>>
inc(p);
end;
if not CheckReserved(FLastUpToken, CurrTokenId) then
begin
CurrTokenId := CSTI_Identifier;
end;
end;
这些代码有什么问题?
在我创建compilesettings.bat
并单击compile.bat
以编译非 Unicode Inno 安装程序(现在我安装了 Delphi 7.............)之后,这就是发生的事情。