![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
error con encodedate en delphi 7
buenas tardes compañeros estoy utilizando esta funcion para formar fechas que extraigo de mi bd, todo funciona bien hasta que en ocasiones llega el mes numero 11 y al parecer la comparacion truena.
el valor de las variables son: a m d tipo word 2012 1 1 ano mes d tipo ano, mes vienen de la base de datos son varchar; d word 2011 09 1 2011 10 1 2011 11 1
este es el error que me marca --------------------------- Proposunidpr --------------------------- Access violation at address 40002540 in module 'rtl70.bpl'. Write of address 000000E3. --------------------------- Aceptar --------------------------- alguna idea de que esl o que pueda estar pasando??, gracias pr cualquier comentario |
#2
|
||||
|
||||
Hola richy08.
Como parecía a primera vista, reproduje tu código y funciona correctamente en Delphi 7. Te paso estos enlaces con la esperanza que alguno te de la solución...
Hay más enlaces pero están más orientados a errores que reciben los usuarios de aplicaciónes ya en funcionamiento. Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
||||
|
||||
No me gusta para nada ese código, no hay control de errores de ningún tipo.
Fieldbyname podría petar si no encuentra el campo; el valor que llega puede no ser un entero o incluso un cero por no tener valor; el año no se sabe si está en 2 o 4 dígitos (encodedate acepta desde 1 a 9999, pero yo le daría el valor correcto). Cuidado con espacios en los varchar que pueden hacer fallar el StrToInt, usa un Trim para quitar dichos espacios antes de pasarlos al StrToInt. Estoy seguro que has verificado los datos que le llegan, pero es que... la función encodedate está muy probada, es imposible que tenga un bug o fallo, por eso debe ser algo de tu aplicación Sí o Sí. Lo de buscar el fallo por rtl70 creo es el último paso, primero me centraría en los fallos tontos que he comentado.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#4
|
||||
|
||||
¡¡¡Uuufff!!!, totalmente de acuerdo con Lepe, además veo otras cosas, por ejemplo el RecordCount, normalmente no te devuelve los registros de la tabla, salvo que hayas hecho antes un .Last. También deberías comprobar qué valores vienen en esos campos para asegurarte de que son correctos, lo mismo viene algún null. En fin, que no es la forma.
En fin, que tienes que comprobar muchas cosas, además de esas variables que no tenemos ni idea de qué son ni para qué sirven, también habría que preguntarse el motivo de guardar en varchar los años, meses y días, etc.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
Hola.
Cien por ciento de acuerdo con ustedes sobre falta de controles de errores, pero no visualizaba un Access violation en ese código. Por las dudas probé EncodeDate con las conversiones mas variadas que me permitió el compilador como StrToInt(VarToStr(FieldByName('DD').Value)) por ejemplo. También puse campos a NULL, a '0' y '', pero lo único que logré fueron errores de conversión. Coincido con Lepe que ese error se esta provocando en otra parte y no en EncodeDate. Los enlaces que puse refieren que el error se manifiesta en rtl70.bpl pero lo atribuyen a la inclusión de componentes no nativos. La verdad es que jamás se me presentó ese error ni había escuchado de él... Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#6
|
||||
|
||||
Cita:
|
#7
|
||||
|
||||
Cita:
|
#8
|
||||
|
||||
Cita:
|
#9
|
||||
|
||||
pues como siempre tenian toda la razon
![]()
lo cambie por y ya funciono
una ultima pregunta, la mejor manera de borrar el contenido de un arreglo dinamico es esta??
muchas gracias a los tres |
#10
|
||||
|
||||
Por favor, preguntas distintas en hilos distintos, debes crear un nuevo tema, tal y como indica nuestra guía de estilo, gracias por tu colaboración.
Y por cierto, que el problema estuviese en otro sitio, eso no quita todo lo que te hemos comentado sobre esa parte del código ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#11
|
||||
|
||||
gracias casimiro, si ya los tome en cuenta y y anexe algunas partes mas a ese codigo, es que todavia lo tengo en face de pruebas y la pregunta la puse en el mismo lugar por que las uso en el mismo proceso, pero abrire otro hilo
mil gracias por todo |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
error en delphi.net | kurono | Varios | 0 | 01-09-2008 23:49:08 |
Error raro al migrar de Delphi 5 a Delphi 7 | bytecero | Varios | 3 | 07-06-2008 08:54:18 |
error de delphi 7 | MARIA ROSA | Conexión con bases de datos | 3 | 27-04-2008 04:31:35 |
Convertir String en TDate. No me sirve EncodeDate | VRO | Varios | 10 | 17-06-2005 10:18:11 |
Error en Delphi | ovargas | Varios | 2 | 14-10-2003 17:09:14 |
![]() |
|