I think that using the MAXLONG constant is causing the value to be treated as a longint. $Real := 2 * (MAXLONG - 5000000)
If you replace the MAXLONG constant with a value you get the correct result: $Real := 2 * (2147483647 - 5000000) Interestingly, you can keep using the MAXLONG constant if you do something like this: $Real := 2 * (MAXLONG - 5000000.1) ********************************************************************** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:[email protected] **********************************************************************

