我继承了一个 Delphi 应用程序,但我对 Object Pascal 一无所知。
这是一个 BPL 文件,我需要将其编译到新版本的 C++ Builder XE 中。当我运行 make 命令时,会出现以下错误:
E2064 左侧不能被赋值。
我已经学习了足够的 Object Pascal 知识,以知道我有一个常量正在尝试被赋值。
但是,显然,您可以覆盖此行为;通过进入 Delphi 编译器下的“构建选项”,并打开“可分配类型常量”来将常量转换为变量。
我已经这样做了,但仍然遇到相同的错误。
我尝试使用 {$J+} 和 {$J-} 包围我的代码,但仍无法编译。
这是一个 BPL 文件,我需要将其编译到新版本的 C++ Builder XE 中。当我运行 make 命令时,会出现以下错误:
E2064 左侧不能被赋值。
我已经学习了足够的 Object Pascal 知识,以知道我有一个常量正在尝试被赋值。
但是,显然,您可以覆盖此行为;通过进入 Delphi 编译器下的“构建选项”,并打开“可分配类型常量”来将常量转换为变量。
我已经这样做了,但仍然遇到相同的错误。
我尝试使用 {$J+} 和 {$J-} 包围我的代码,但仍无法编译。
procedure TChunkIDAT.CopyInterlacedRGB8(const Pass: Byte;
Src, Dest, Trans{$IFDEF Store16bits}, Extra{$ENDIF}: pChar );
var
Col: Integer;
begin
{Get first column and enter in loop}
Col := ColumnStart[Pass];
Dest := pChar(Longint(Dest) + Col * 3);
repeat
{Copy this row}
Byte(Dest^) := fOwner.GammaTable[pByte(Longint(Src) + 2)^]; inc(Dest);
在最后一行遇到了错误。如果我将const更改为var,那么我会得到一个错误,即声明与先前的声明不同,但我不知道先前的声明在哪里....