Problema con datawindows genero archivos.prn

Hola expertos, mi problema es el siguiente, con un datawindows genero archivos.prn, llega el momento que a partir del registro 300 los archivos generados ya no aparece con imagen (foto). Al parecer se satura la memoria de la maquina como le hago para liberar la memoria ya que al parecer ese es el problema, he intentado con dw_1.reset(), garbagecollect()... Etc y no pasa nada sigue todo igual. Gracias por su ayuda.

1 Respuesta

Respuesta
1
Power builder tiene una forma muy especial de manejar la memoria de la maquina, y si a esto le añades, el hecho de abrir otras ventanas y si encima se trata de excel por ejemplo, esto nos pone en graves problemas, pues excel por ejemplo se adueña de toda la memoria disponible, en fin, yo te recomiendo algunas cosas que tienes que tener en cuenta, para hacer más eficiente tus programas y a la vez eficiente el manejo de la memoria.
Librerías de una aplicación
Cuando crees librerías de una aplicación ten en cuenta que estas utilizar la filosofía del swaping o en otras palabras carga en memoria solo que necesita, lo que no lo deja en disco, utilizando este principio power builder carga las librerías que va necesitando.
Por esta misma razón mi recomendación es que programes tus aplicaciones en varias librerías, y que estas a su vez no lleguen a tener un tamaño superior a 1 Mgb. Mejor si es menor, ademas es recomendable que todo lo necesario de una pantalla resida en la misma librería, de tal manera que cuando solicites una ventana o pantalla, esta también cargue unicamente la librería en la que recide, pues si la distribuimos de tal manera que por ejemplo, las ventanas o windows estén en una librería, las clases en otra, las funciones en otra, los datawindows, en otra y así, cada vez que solicitemos una ventana esta también cargará la librería de los datawindows, las funciones, etc.
Imágenes:
Las imágenes que se incluyen dentro de un archivo de recursos, son incluidas dentro del ejecutable primario, esto significa que al cargarse el ejecutable en memoria, igualmente esta cargando las imágenes, dichas imágenes aumentaran entonces el tamaño físico tanto en disco como en memoria, si por ejemplo incluyes 3 imágenes de 650 kb. cada uno esto se suma al tamaño normal del ejecutable. Lo cual no tiene sentido ni razón, si esto te ocurre siempre puedes optar por colocar externas estas imágenes (claro esto sin son muy necesarias), en el caso de tu ejemplo, el archivo tipo reporte, esta limitado por estas imágenes
Tipo de librerías
Power builder tiene la capacidad de generar 2 tipos de librerías dinámicas,
DLL las cuales son las más conocidas y portables, puesto que entran en un standard dado por windows, estas librerías son prácticamente transportables hacia cualquier otro lenguaje, sin embargo los tamaños son demasiado grandes y en algún momento pueden provocar exceso de memoria. O desbordamiento de la pila.
PBD estas librerías son igualmente dinámicas, tienen una técnica muy parecida a las anteriores pero no pueden ser transportables, pues power builder es el único que la puede utiliar, son más livianas, prácticamente casi un 50% y hasta aveces más. Lo que sucede es que compila un código propio de pb, y no incluye encabezados de manejo y manejadores propios de las dll, sino que power builder ya los tiene incluidos en sus propias librerías de runtime. Ademas tienen la ventaja de poder ser actualizadas independientemente y no necesitas ni siquiera de actualizar el ejecutable, (claro esto siempre y cuando lo modifiques llamadas principales que afectan directamente el ejecutable.)
Por esta razón te recomiendo las librerías pbd.
Configuración de maquina.
Adicionalmente a todo esto, la configuración de una maquina también influye mucho en su desempeño, por ejemplo un fonde de pantalla que no es el standard, como una fotografía, reserva 1 MGb. De memoria, un SalvaPantalla cualquiera que sea, reserva otro MGb. O más, dependiendo de su desempeño, la densidad de colores de la pantalla como 16k 32k o más, también consumen memoria de video, por lo que si tienes una tarjeta de video limitada, esta va a descontar de su desempeño propio el numero de memoria que ocupa en controlar los colores configurados.
El cambio de colores, icons, figurines, etc. propios de windows reserva otro Mgb. De memoria, y por ultimo recuerda que windows y sus derivados, tienen directorios, registro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas