Hi all, Interesting thoughts. However, if we raise an exception, why do we raise EDivByZero instead of EZeroDivide? Note: EDivByZero = class(EIntError), so IMHO it makes no sense to raise it with a floating point error. Bart