Extraño comportamiento de delphi 7
Como estan? el tema es el siguiente:
trabajo con Delphi 7 - Mysql 5.0 mediane Zeos - Campos Calculados debo exportar a Excel el detalle del libro iva Ventas, la Exportacion la Hago de la siguiente manera :
el error lo tengo en los valores que asume la variable fila, los cuales son absurdos ya que toma primero un valor de 256 todas las veces que se ejecuta dentro del while aunque a veces toma un numero 32 mil y algo, al query lo tengo asociado a dbgrid de los componentes suipack y en el evento de qventas oncalcfields que es un query de zeos : yo culpo a los campos calculados puede que no sea ahi el problema pero delphi se comporta de una manera extraña, ya rebice varias veces el codigo y no encuentro ningun error. alguna idea? gracias de Antemano. |
si no se entiende bien vuelvo a subirlo pero cuando haces una vista previa al subir el post en el foro se descompagina todo.
cualquier cosa me avisan |
El evento OncalcFields se produce frecuentemente, cuando un campo cambia su valor. Si dentro de OncalcFields modificas el valor de otros campos, hará que se vuelva a ejecutar otra vez más. Creo que por ahí tiene el problema, aunque si llega a la fila 32.000, significará que el query tiene 31.996 registros.
No tendrás ese query en relación Maestro-detalle con otro query o tabla ¿no? Saludos |
gracias por responder
Gracias por contestar:
no es que llegue a la fila 32.000 es mas el query tiene a lo sumo 30 registros la variable fila se debe ir incrementando de uno en uno empezando de 4 para ir escribiendo una linea debajo de la otra en el libro de exxcel, eso no sucede porque la variable fila asume valores no previstos y por lo tanto no empieza a escribir el la fila 4 del excel sino que me registra en la fila 260 del libro de excel todos los registros uno sobre otro, esto lo se porque puse un showmessage('Valor de linea :' + inttostr(linea)); para monitorear que valores asume. no se si el problema viene de los campos calculados, o si se trata de un bugs de delphi que se solucione con algun parche o algo parecido, o yo estare haciendo alguna tontera. y el query esta aislado no tiene relacion con otro query o tabla. lo que si tengo mas de un campo calculado que cambios sus valores en el oncalcfield. |
No es fallo de delphi, ya encontré donde está el error:
cuando eso se ejecuta, la cosa queda así en tiempo de ejecución: pero eso no está entre comillas !! quizás esté calculando el código ascii de la letra "A" y lo multiplique por siete, y lo mismo con la "m", después de todo, a saber el valor que interpreta realmente. Tú esperas que quedara así: y para conseguirlo, el código debe ser (bueno un ejemplo de cómo lo haría yo)
El truco: QuotedStr. Saludos |
Gracias por Contestar y perdon por la demora,
estuve viendo lo que me dijiste y no esta por ahi el error, ya que esto mismo lo tengo funcionando en otras exportaciones a excell y me funciona bien, y cuando le paso el rango con las "" (quotas) me da un error de oleXXXXXX no me acuerdo cuanto. Voy a tratar reinstalando Delphi, porque a demas me estan saliendo otros errores un poco raros y ya ando medio perdido con todo esto. Muchas gracias por tu atencion Lepe y despues te cuento como fue y si no se soluciona reinstalando vamos a seguir buscando. Gracias y un Abrazo |
La franja horaria es GMT +2. Ahora son las 05:53:35. |
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