Delphi アプリケーションを継承しましたが、オブジェクト パスカルについては何も知りません。
これは、新しいバージョンの C++ Builder XE にコンパイルする必要がある BPL です。
make を実行すると、次のエラーが表示されます。
E2064左側は割付けできません。
値を割り当てようとしている定数があることを知るのに十分な obj pascal を学習しました。
しかし、どうやら、この動作をオーバーライドすることができます。基本的に、Delphi コンパイラのビルド オプションに移動し、「割り当て可能な型付き定数」をオンにすることで、定数を var に変換します。
私はそれをしましたが、同じエラーが引き続き発生します。
コードを {$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 に変更すると、宣言が前の宣言と異なるというエラーが表示されますが、前の宣言がどこにあるかわかりません....