Large Integer Variables
MapBasic uses the integer types SmallInt, Integer, and LargeInt. LargeInt is a type for storing 64-bit (8 byte) integers; use the Dim statement to create a LargeInt variable.
SmallInt | Whole numbers from -32768 to 32767 (inclusive); stored in 2 bytes. |
Integer | Whole numbers from -2,147,483,648 to +2,147,483,647 (inclusive); stored in 4 bytes. |
LargeInt | Whole numbers from –9,223,372,036,854,775,808 to +9,223,372,036,854,775,807 (inclusive); stored in 8 bytes. |
LargeInt variables are supported in MapBasic, but they are not a fully supported type in a table, because some operations may not work correctly for large values (such as thematic maps). Some mathematic calculations or functions generate a LargeInt value. If the value is outside the range for an Integer variable and your application tries to store the result in an Integer, you will get an overflow error.
The following functions return a LargeInt value:
The following statements accept a LargeInt value for the file position:
The following function return a IntPtr value when the specified attributes are requested.
- SystemInfo() function attributes SYS_INFO_APPLICATIONWND, SYS_INFO_MAPINFOWND, SYS_INFO_MDICLIENTWND, and SYS_INFO_APPIDISPATCH.
- WindowInfo() function attribute WIN_INFO_WND.