PDA

Ver la Versión Completa : violacion de direccion de memoria


anubis
08-05-2007, 04:01:26
Tengo una aplicacion que, para probar todos los datos estan metidos en tablas, tengo mas 20, incluyendo los tstringgids, definidas con strings e integer la gran mayoria.
EL programa funciona bien, pero de vez en cuando me surgen avisos de violacion de memoria, pero el programa sigue funcionando, esto es problema de los array o cual es el problema.

gracias

Neftali [Germán.Estévez]
08-05-2007, 11:06:26
El programa funciona bien, pero de vez en cuando me surgen avisos de violacion de memoria, pero el programa sigue funcionando, esto es problema de los array o cual es el problema.

Un error de "Access Violation" normalmente es debido a que se intenta leer/Escribir en una posición no-válida de memoria. Puede ser de cualquier cosa, de acceder a un objeto que no se ha creado, de acceder a un objeto que ya se ha liberado,... No tiene porqué ser de arrays.
Deberías "acotar" cuando te sucede el error, si es siempre en el mismo sitio, si sigue un patrón e intentar ejecutar paso a paso para detectarlo.
Revisa creación y destrucción de objetos, si trabajas con arrays, vigila que cuando accedes estén inicializados y creados,...

droguerman
08-05-2007, 14:52:27
Tengo una aplicacion que, para probar todos los datos estan metidos en tablas, tengo mas 20, incluyendo los tstringgids, definidas con strings e integer la gran mayoria.
EL programa funciona bien, pero de vez en cuando me surgen avisos de violacion de memoria, pero el programa sigue funcionando, esto es problema de los array o cual es el problema.

gracias

puedes poner algo de código para ver donde es que sucede eso, a veces tambien pasan esos errores por acceder a un elemento más allá de un arreglo o de una cadena (es decir a la letra 15 de un texto de 14 caracteres)

anubis
09-05-2007, 00:48:38
pues la verdad es que le programa funciona bien, en algunos casos no pasa que salga el aviso de violacion de memoria y en otros si, añadir un breakpoint donde ocurre no se puede porque no me avisa donde. de todas formas mirare los create y destroy pero estan bien.