SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: icabsan en Lunes 10 de Enero de 2005, 21:53

Título: Problema De Memoria
Publicado por: icabsan en Lunes 10 de Enero de 2005, 21:53
Estoy haciendo un programa en c++ buider. A mitad del programa tengo que hacer dos new, uno de un TMemoryStream y otro de un TJPEGImage.

Debe pasar por esa parte del código 500 veces. Cuando pasa la 46 me salta un error. Yo creo que es pq el segundo new que hago se "come" parte de la memoria del primero.

Pienso esto pq:

Si varío el orden de los new's entre sí, siempre me da error en la primera operación de la primera variable que declaro con el new.

Ojala alguien pueda ayudarme. Estoy desesperada!!
Título: Re: Problema De Memoria
Publicado por: Ruben3d en Jueves 13 de Enero de 2005, 19:02
No sé cuál es el tamaño de esas clases, pero si estás lidiando con imágenes podría ser que estuvieras agotando la memoria del sistema. Comprueba el retorno de new, a ver si es NULL.

Un saludo.

Ruben3d
Título: Re: Problema De Memoria
Publicado por: MutenRo en Viernes 18 de Febrero de 2005, 17:21
Como dice Ruben3D lo más seguro es que se agote la memoiria del sistema.

Comentas que el error ocurre en un bucle de unas 500 iteraciones, cuando va por la 46. Realmente es necesario mantener toda esa información en memoria?

Posiblemente el programa esté mal hecho en el sentido de que no se libera el espacio que ya no necesita usarse. Utiliza el operador delete siempre que hayas terminado de utilizar algo inicializado con new.