Nur so nebenbei: Wieso real?
var b:real;
war auch mit double so.
Die Frage hat auch nichts mit dem Fehler zu tun, sondern zielt eher darauf ab, warum überhaupt
Real verwendet wird. Faktisch ist das unter aktuellen Delphi Versionen ein
Double (deswegen auch dasselbe Verhalten), aber eben nicht in den älteren.