E2100 Data 型が大きすぎます:2GB を超えました (Delphi)
エラーと警告のメッセージ(Delphi) への移動
大きすぎてコンパイラが表現できないデータ型を指定しました。コンパイラは,2GB 以上のサイズのデータ型に対してこのエラーを生成します。型の記述のサイズを小さくしなければなりません。
program Produce; type EnormousArray = array [0..MaxLongint] OF Longint; BigRecord = record points : array [1..10000] of Extended; end; var data : array [0..500000] of BigRecord; begin end.
{ これらの宣言がエラーメッセージを発生させた理由は見ればすぐにわかる }
program Solve; type EnormousArray = array [0..MaxLongint DIV 8] OF Longint; DataPoints = ^DataPointDesc; DataPointDesc = array [1..10000] of Extended; BigRecord = record points : DataPoints; end; var data : array [0..500000] OF BigRecord; begin end.
{ このエラーメッセージを回避するには,データ型のサイズを必ず 2GB 未満にとどめれば簡単に解決できる。もっと複雑な方法としては,BigRecord 宣言でしたようにデータの構造を変更する }