为啥两个Cardinal类型的数据比较大小时总报错呢

为什么两个Cardinal类型的数据比较大小时总报错呢?

NorthLat,SouthLat,EastLon,WestLon: Cardinal;

......

NorthLat := 54 * 1000000;
SouthLat := 3 * 1000000;
EastLon := 136 * 1000000;
WestLon := 72 * 1000000;

......

if (A8GPSData.GPSData.Lon > EastLon or A8GPSData.GPSData.Lon < WestLon or A8GPSData.GPSData.Lat > NorthLat or A8GPSData.GPSData.Lat < SouthLat) then
                Exit;


A8GPSData.GPSData.Lon和A8GPSData.GPSData.Lat都是Cardinal类型的数据,为啥编译时,if语句报错呢?

------解决方案--------------------

if (A8GPSData.GPSData.Lon > EastLon) or (A8GPSData.GPSData.Lon < WestLon) or (A8GPSData.GPSData.Lat > NorthLat) or (A8GPSData.GPSData.Lat < SouthLat) then
  Exit; 

------解决方案--------------------
if (A8GPSData.GPSData.Lon > EastLon) or (A8GPSData.GPSData.Lon < WestLon) or (A8GPSData.GPSData.Lat > NorthLat) or (A8GPSData.GPSData.Lat < SouthLat) then