Possible OraClasses bug?

Possible OraClasses bug?

Hi,
During a test, I've had a range check error throw up in OraClasses.pas.  It was in version 12.2, but I've just updated now to 12.3 and I think the problem is the newer version as well. I am currently unable to reproduce the error, but I think it had something to do with a stored procedure call (conditions in my app has changed).
I do not really understand the code, but it seems to me that there is something wrong in line 11381 where I got the error:
Since the condition only enters when Scale is -127, Prec is always assigned -38, which is a negative number. However Prec is defined as a word. Is it possible that there is a minus sign missing in the assignment?
                  if (Scale = -127) and (Prec > 0) then begin // FLOAT
                    Prec := Ceil(Scale * 0.30103);
                    Param.SubDataType := dtFloat;
                  end