Error Raro, No encuentro Causa
Tengo una aplicacion que tiene el sig. procedure:
El problema que tengo es que cuando compilo y genero el ejecutable al usar este procedure tira error de "Access Violation at address 00406780", entonces si yo entro al codigo y cambio la linea
por
Complio y ejecuto funiona perfecto sin error. Luego al realizar un cambio en la aplicacion y volvar a compilar y ejecutar vuelve a tirar el error de Access Violation entonces tengo que volver a entrar al codigo y cambiar nuevamente la linea esa de codigo y ponerla como estaba, de esa manera no tira el error. En Conclucion para que este proceso no tire error cada vez que compilo tengo que entrar y cambiar una linea por otra, alguien sabe a que se debe ese error?? Gracias.- |
Creo que es porque la AFIP te deniega la conexion si ya pediste acceso (token y sign). Parece ser que el servidor no esta preparado para que constantemente se lo cascotee pidiendo token :)
En realidad lo que esta pasando entre que cambias la linea y recompilas es darle "respiro" Hace un tiempo me paso algo similar (uso PyAFipWS) y la unica solucion que encontre fue reutilizar el ticket de aceso, guardando en un archivo el token y sign |
No, no es eso porque uso siempre el mismo token y sing, salvo que se me venza y recién ahi solicito el nuevo. Por 24hs uso siempre el mismo Token y Sing.
|
Solo por probar, en lugar de
utiliza
por otra parte observa que el objeto que se está creando en
se pierde (queda sin apuntador) cuando se invoca el getServiceSoap. |
Como es eso de que queda sin apuntador??
|
"FERecuperaLastCbteResponse.Create" crea un objeto de la clase FERecuperaLastCbteResponse y "s" está mirando (apuntando) hacia la posición de memoria en la que esta ese objeto recien creado. Posteriormente estas haciendo s := WS.FECompUltimoAutorizado(FEAuth, strtoint(edtPuntoVta.Text), dbTipoCbte.KeyValue), esto último hace que "s" quede mirando hacia el objeto retornado por WS.FECompUltimoAutorizado, pero el objeto creado por "FERecuperaLastCbteResponse.Create" seguirá estando en memoria pero sin que nadie lo pueda accesar, por lo que no podrá ser liberado.
Lo anterior creo que no tiene nada que ver con el error que está ocurriendo en la aplicación, es una simple apreciación sobre el código mostrado. Espero haberme explicado. |
La franja horaria es GMT +2. Ahora son las 09:58:28. |
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