ここに、Turbo Delphi 2006 でコンパイルおよびテストした Delphi 3 で正常に動作するプログラムがあり、問題が見つかりました。問題は次のとおりです。「カーディナル」データ型を何かのインデックスとして使用していました。それは Delphi 3 で動作しましたが、特定のデータに応じて、Turbo Delphi 2006 でコンパイルされたバージョンよりも値が約 128 ~ 256 大きいことがわかりました。これらのデータ型を「longint」に変更すると問題が修正され、プログラムは両方のコンパイラで正しく動作しました。
質問:これはなぜですか?
私の理解では、基数データ型は典型的な符号なし整数データに過ぎないということでした。これは、このプログラムでのそれらの適用と一致しており、特に Delphi 3 のコンパイルが正しく機能したという事実によって証明されています。では、Turbo Delphi 2006 のコンパイルが機能しなかったのはなぜでしょうか?