Foros del Web » Programación para mayores de 30 ;) » Programación General »

la memoria no se puede "read"

Estas en el tema de la memoria no se puede "read" en el foro de Programación General en Foros del Web. hola chicos!! tengo un problema. los modulos en vb6 que tengo tienen un problema. cuando cierro uno de ellos, cualquiera, en algunas ocasiones me sale ...
  #1 (permalink)  
Antiguo 22/10/2004, 13:13
 
Fecha de Ingreso: junio-2004
Mensajes: 35
Antigüedad: 20 años, 5 meses
Puntos: 0
la memoria no se puede "read"

hola chicos!!
tengo un problema.
los modulos en vb6 que tengo tienen un problema. cuando cierro uno de ellos, cualquiera, en algunas ocasiones me sale el siguiente mensaje:
La instruccion 0762f4e3a hace referencia a la memoria en 0x0994bcbd. La memoria no se puede "read".
y se cierra el módulo.
los proyectos los tengo compilado con la opción "compilar a codigo nativo" optimiando código.
y si los compilo con la opción "compilar a P-code" tengo problemas con algunas ventanas.

si alguien tiene alguna idea de porque me sale este error se lo agradeceria mucho.
  #2 (permalink)  
Antiguo 22/10/2004, 13:22
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 11 meses
Puntos: 7
Mildred M:
Ese error puede tener muchos motivos. La verdad es que sin un debugger no sabrás realmente en que instrucción está el problema.
Pero, te voy a decir cuando me ha pasado a mí:
Cuando incluyo estilos de Xp en la aplicación, e incluyo controles activeX o controles personalizados. Como lo soluciono: haciendo una llamda a la api de windows para que cancele los errores al cerrar la aplicación.
También me ocurre cuando utilizo la función RtlMoveMemory de la API (CopyMemory). Si me equivoco y defino un rango equivocado para esta función, casi siempre me salta un error como el que describes. Solución: Este es difícil de trazar, pero reviso una por una las llamadas a dicha función.

Si no usas ninguna llamada a la API en tu aplicación, pues no tengo idea de como solucionarlo, salvo viendo el código fuente completo.

Saludos.

Última edición por Beakdan; 22/10/2004 a las 13:23
  #3 (permalink)  
Antiguo 22/10/2004, 19:10
 
Fecha de Ingreso: junio-2004
Mensajes: 35
Antigüedad: 20 años, 5 meses
Puntos: 0
gracias por la solucion

Gracias por tu solución, creo que en parte mi problema es el primer caso, puesto que efectivamente, yo utilizo componentes personalizados.
Sin embargo, soporte me enseñó el mensaje que sale en las maq. de win98 y en este caso el mensaje es más descriptivo y culpa al componente msvbvm50.dll
Estuve investigando y este componente sirve para que vb5 pueda compilar codigo nativo(propiedad de mi modulo). sin embargo mi aplicacion se la migró a vb6 y en este caso el componente es otro (uno de nombre similar pero termina en 60).
vi las versiones de este componente en las maq de los usuarios y es la misma que en mi maq. (tiene vb6 con sp5). y entonces ya me perdi puesto que no se si sean problemas de migración.
Con esto, no me van a aceptar una solución como la tuya puesto que si es problema de vb estoy frita. AUXILIO!!!! NO SE QUE HACER
  #4 (permalink)  
Antiguo 24/10/2004, 19:56
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 11 meses
Puntos: 7
Mildred M:
La librería que mencionas, msvbvm50.dll es Visual Basic Virtual Machine versión 5; si como dices, has migrado tu aplicación desde VB5, deberías buscar en el código de tu aplicación cualquier referencia a esta librería y reemplazarla por la equivalente de msvbvm60.dll, que es la versión para VB6.
Llamadas comunes que recuerdo a msvbvm50.dll son VarPtr, StrPtr, ObjPtr. En VB6 pueden llamarse sin declarar. También, en tus controles personalizados, deberías intentar actualizarlos a VB6 (si tienes el código). Fuera de esto, como no sea viendo el código fuente, no se me ocurre nada.

Hasta luego.

Última edición por Beakdan; 25/10/2004 a las 03:05
  #5 (permalink)  
Antiguo 29/10/2004, 13:28
 
Fecha de Ingreso: junio-2004
Mensajes: 35
Antigüedad: 20 años, 5 meses
Puntos: 0
Tienes razon

Parece que si es lo que me dices.
ahorita pregunte a la persona que se encargó de eso y parece que las dll y la conexion no la han migrado.
voy a hacer unas pruebas ahorita.
MUCHAS GRACIAS AMIGUITO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:36.