Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Invalid Pointer Operation (https://www.clubdelphi.com/foros/showthread.php?t=66501)

FerCastro 23-02-2010 16:36:23

Invalid Pointer Operation
 
Hola Amigos, un gusto saludarlos, el motivo del post es el siguiente:

Estoy trabajando con Delphi5 Update1/Oracle/WinXP SP3 y es una aplicación un poco compleja y pesada (30Mb el ejecutable), cero librerías de terceros.

Mi problema viene dado cuando se ejecuta un query sobre una tabla de oracle (este query trae a lo mucho 20k registros) y a partir de este query se crea uno o varios archivos de texto. El proceso tiene varios while/for andados y en algún momento de estos ciclos recibo el siguiente error: Invalid Pointer Operation el cual me tira mi aplicación.

He estado investigando las posibles causas y soluciones de este problema, el cual por lo general viene dado por accesos a localidades de memoria que no están usadas, o algún problema con alguna clase, pero en el procedimiento yo no uso clases, mis variables están bien declaradas y no doy pié con bola. Además, el problema nunca surge siempre en el mismo lugar, es decir, a veces surge antes de entrar a los ciclos, otras veces al ejecutar un query, otras veces al momento de llamar a un messagebox, y lo más desconcertante, a veces no sale el mugroso error.

Espero que me puedan echar un cable porque llevo ya varios dias con esto, y después de usar el EurekaLog, el MadException y algunas otras monerias que hallé en la red eto sigue sin solucionarse.

Agradezco mucho la atencion.

Fernando Castro
México, D.F.

droguerman 23-02-2010 19:57:24

Yo creo que puede ser algún problema del driver de oracle que usas o alguna llamada asíncrona, en todo caso lo que yo haría es crear un nuevo módulo copiando poco a poco fracciones de código hasta descubrir cual de ellos es el causante del error.

Disculpa lo abstracta de mi respuesta pero es por lo abstracta de tu pregunta.

FerCastro 23-02-2010 20:40:57

Hola
 
Muchas gracias por la respuesta. Podrías por favor explicarme a que exactamente te refieres con una llamada asíncrona?

Saludos!! y mil gracias de nuevo

FCG
México, D.F.

droguerman 23-02-2010 21:47:26

Me refiero a una función que cuando es llamada el sistema no se queda esperando su respuesta, sino que pasa a la siguiente instrucción y sigue adelante, en un momento dado la función asíncrona ya ha terminado, tiene el valor de retorno y notifica al módulo o cliente que la ha invocado, una analogía tonta es el chat, tú sabes cuando vas a enviar un mensaje a un contacto pero no sabes cuando el contacto te va a responder, así que no te quedas esperando, sigues con tu vida hasta que te responda y entonces tomas alguna acción en ese momento.

Bueno por la pregunta imagino que no es ese el caso así que sólo te queda aislar fragmentos de código hasta que aparezca el error.


La franja horaria es GMT +2. Ahora son las 07:28:03.

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