I have inherited the Delphi application and I know nothing about the pascal object.
This is the BPL that I need to compile into a new version of C ++ Builder XE.
When I run make, I get an error:
The left side of the E2064 cannot be assigned.
I learned obj pascal enough to know that I have a constant that is trying to assign a value.
But, apparently, you can overcome this behavior; essentially turning constants into vars by going to the Build options under the Delphi compiler and turning on "Assignable Typed constants".
I did this and I keep getting the same error.
I tried to surround my code with {$ J +} and {$ J-}, and it still wonβt compile.
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);
Get the error message on the last line. If I change const to var, I get an error that is different from the previous declaration, but I have no idea where the previous declaration is ...
source share