Delphi Compiler Error
E2100 Data type too large exceeds 2 GB
Reason for the Error & Solution
You have specified a data type which is too large for the compiler to represent. The compiler will generate this error for datatypes which are greater or equal to 2 GB in size. You must decrease the size of the description of the type.
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.
It is easily apparent to see why these declarations will elicit error messages.
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.
The easy solution to avoid this error message is to make sure that the size of your data types remain under 2Gb in size. A more complicated method would involve the restructuring of your data, as has been begun with the BigRecord declaration.