Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Error de punto flotante en una propiedad boolean (https://www.clubdelphi.com/foros/showthread.php?t=86537)

ingel 28-08-2014 17:32:35

Error de punto flotante en una propiedad boolean
 
Buendia ... tengo un boton TBitBtn .. que en CIERTAS OCASIONES cuando le quiero asignar la propiedad enabled en false me da un error que dice : '' no es un valor punto flotante valido

bAgregar.enabled := false

No se que mas datos podria aportar para describir la situacion , no hay mucho mas que eso...
La primera vez que presiono el boton agregar lo ejecuta bien , inhabilita el boton .. si ahi presiono el boton cancelar , que lo vuelve a habilitar y presiono nuevamente el boton Agregar ... cuando lo va a inhabilitar da el error..

por lo que estoy viendo tiene que ver con la ejecucion o no en el boton CANCELAR
de estas lineas , hasta ahora no se me ocurre que pueden tener que ver...
(si comento estas lineas , no da mas el error... en el procedimiento LevantaNC no se menciona al boton bAgregar para nada)

fdatos.TNC_Emiti.close;
fdatos.TNC_Emiti.open;
fdatos.TNC_Emiti.Last;
LevantaNc; (procedimiento que muestra datos)


Sds y
GRACIAS

ecfisa 28-08-2014 19:51:00

Hola ingel.
Código Delphi [-]
bAgregar.enabled := false
No tengo ninguna duda que asignar un valor boolean a una propiedad de tipo boolean no provoca ese error.



El error se produce precisamente en las líneas que al comentarlas deja de producirse:
Código Delphi [-]
 {
  fdatos.TNC_Emiti.close;
  fdatos.TNC_Emiti.open;
  fdatos.TNC_Emiti.Last;
  LevantaNc; 
  } // todo Ok
Tendrías que ampliarnos información sobre esas líneas para ver por donde viene la cosa...

Saludos :)

duilioisola 28-08-2014 19:56:48

Lo que debes hacer es debugar paso a paso y ver en qué linea lanza el error.
Esto lo puedes hacer poniendo un breakpoint (F5) en la primera linea y una vez que se pare en esta ir presionando F8 para saltar a la siguiente.
Una vez que sepas cual es la línea, deberás tratar de ver en qué influye para lanzar ese error.
Si la linea que falla es la del procedimiento LevantaNc, deberás poner un breakpoint dentro del procedimiento para ver que linea es la que provoca el error.

Este error se da normalmente cuando tratas de convertir un valor String en un valor Float.
Puede ser que cuando abras la tabla o cuando navegas a algún registro (Last navega al último), alguno de los campos tenga un valor que conviertes a número, pero tiene caratéres no numéricos, o está vacío, o el separador decimal no es el que se espera o tiene el separador de miles y la conversión no lo acepta.


La franja horaria es GMT +2. Ahora son las 09:49:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi