Ver Mensaje Individual
  #1  
Antiguo 09-05-2005
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Reputación: 22
sur-se Va por buen camino
Errores Delphi 5

Hola. He detectado un error extraño en el Delphi 5 Enterprise que no había visto antes, pero se me da en varias partes del programa. Tengo dos variables de tipo extended. El proceso va leyendo de una base de datos Firebird y acumulando en una u otra variable según un determinado criterio. A medida que se va acumulando se van comparando ambas variables ya que en el momento en el que sean iguales se debe ejecutar un proceso determinado. El problema está en que en el Watch List tengo las variables, ambas ponen el mismo valor, pero al llegar el if (val1=val2) then ... pues no entra por ahí. Lo he probado en otros equipos y con otras bases de datos y pasa lo mismo, y ambas variables valen igual. Al final he tenido que hacer los siguiente:

val1:=strtofloat(formatfloat('#.00',val1));
val2:=strtofloat(formatfloat('#.00',val2));

y así, entonces, al llegar la if:
if (val1=val2) then ... entonces si lo hace.

Me he puesto a revisar otras partes de código y he visto que pasa lo mismo.
He oido por ahí que la versión Delphi 5 tenía problemas con los cálculos matemáticos. No sé si esto es cierto o no, pero desde luego el depurador no anda muy fino.
Alguien sabe como resolverlo?
Salu2.
Responder Con Cita