C/Visual C - Ayuda!!!!!! con Getimage

 
Vista:

Ayuda!!!!!! con Getimage

Publicado por Carlos Guzmán (12 intervenciones) el 19/04/2001 05:39:21
Que tal... Tengo un problema.
Estoy haciendo un programa que usa varias ventanas y quiero grabar el pedazo de pantalla que cubre la ventana para que despues, al quitar la ventana, me aparezca lo que había antes. Lo he hecho con getimage, pero despues de gravar varias partes, ya no tengo memoria suficiente. No se si haya otro metodo o funcion. Por favor, si tienes alguna idea o si me puedes ayudar, no dudes en decirmelo!!!

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda!!!!!! con Getimage

Publicado por Germán B. (143 intervenciones) el 19/04/2001 06:47:42
Si usás getimage() supongo que trabajás en modo gráfico. Pregunta: el buffer que usás para guardar en memoria el contenido del sector de pantalla, ¿está dimensionado con el tamaño justo necesario o con un tamaño fijo (grande)? ¿Cuando restablecés un sector de pantalla (al cerrar una ventana), estás liberando la memoria que ocupaba lo que habías guardado?
Si realmente estás haciendo todo bien y se te acaba la memoria disponible, tendrás que pensar en grabar la información en archivos temporarios, y no en memoria real. Pero me parece raro que haya que llegar a eso.
G
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Otra vez yo!!!

Publicado por Carlos Guzmán (12 intervenciones) el 19/04/2001 20:53:28
mira... el tamaño del contenido que deseo guardar lo sacon con la función sizeof(), no se si me da el tamaño justo necesario. Y como el buffer lo guardo con malloc() lo elimino con free(), supongo que libera toda la memoria que estaba ocupando.
Tu que dices ehhh???? lo estoy haciendo bien???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Otra vez yo!!!

Publicado por Germán B. (143 intervenciones) el 20/04/2001 00:51:46
sizeof() te da el tamaño que ocupa determinado objeto (variable, estructura, etc) o tipo de dato, no es lo que tenés que usar en este caso. La función que te dice cuánta memoria necesitás para guardar con getimage() es imagesize(), que dicho sea de paso, permite solo tamaños inferiores a 64Kb en mi Turbo C++ para DOS.
Me imagino que lo que pusiste como argumento de sizeof() da un tamaño bastante inferior a la memoria necesaria para guardar la imagen, de modo que parece probable que el verdadero problema no haya sido que se acabó la memoria sino que "pisaste" memoria no asignada. Dicho de otra forma, almacenaste una gran cantidad de bytes en una dirección de memoria donde disponías de muchos menos bytes, invadiendo terreno desconocido y produciendo resultados impredecibles.
G
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Otra vez yo!!!

Publicado por Carlos Guzmán (12 intervenciones) el 19/04/2001 20:55:49
mira...
el tamaño del buffer que deseo guardar la obtengo con la función sizeof(), no se si esta me devuelve el tamaño justo necesario. Y como el buffer lo guardo con malloc() lo elimino con free(), supongo que libera toda la memoria que estaba ocupando.
Tu que dices ehhh???? lo estoy haciendo bien??? o tendre que usar archivos temporales

CGG.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar