PDA

Ver la Versión Completa : Memoria Insuficiente


rogeriobeltran
27-11-2004, 20:37:14
Hola:

Muchas gracias de antemano por la ayuda y recomendaciones dadas.

Mi inconveniente en estos momentos, es que tengo en produccion un software de ventas elaborado en Delphi con base de datos Firebird, el instalador utilizado es, Firebird-1.5.1.4481-Win32_pdb_RC3.exe, el sistema operativo en XP profesional, tengo un formulario en donde se registran las ventas de los productos, pero llega un momento en donde me dice que hay memoria insuficiente, realmente no he configurado el firebird y no se como realizarlo, quisiera que me colaboraron con su experiencia para poder solucionar este inconveniente


Gracias

Rogerio Orlando

sur-se
29-11-2004, 09:06:20
Una cuestión, ¿que proceso da ese mensaje? El S.O. o tu aplicación Delphi. Yo tengo Firebird ejecutándose en XP sin ningún problema con aplaciones Delphi. Quizás el problema no esté en el Firebird sino en el XP o en tu aplicación. ¿Podrías concretar un poco más?.

rogeriobeltran
29-11-2004, 14:31:29
Gracias por tu colaboración, realmente creo es que tengo inconvenientes es con la aplicación o configuración del Firebird, es la primera vez que trabajo con esa configuración sinceramente no se que parametros colocarle para la aplicación, voy a explicar el proceso un poco mas detallado: El sistema es un pos, venta de articulo en un supermercado, trabajo con tres formas principales, la primera es la factura es donde ubico los datos del cliente, los articulos comprados y los totales de las ventas, manejo dos(2) tablas temporales en la base de datos, se borrran los registros cada vez que realizo una nueva factura, donde guardo los datos de los registros vendidos y los pagos, y siete(7) query de consultas sencillas. Además de esta forma tengo una en donde se busca el cliente en esta forma hay una(1) tabla y dos(2) query y en donde se presentan los inconvenientes es en la forma de registro de articulo, en donde tenemos los siguiente dos (2) tablas y tres(3) query, con un query realizo la consignación de los registros de los articulos vendidos y aqui es donde se inicia el inconveniente pareciera que no limpiara la memoria o mejor no libera la memoria y entre el registro 900 a 1000 se presenta el tope de memoria, todas las formas las llamos de forma modal y las destruyo con free. Espero que con esta explicación me puedas colaborar, ademas si puedes colaborarme en el sentido de configuración del firebird que parametros son optimos y como realizarlos. Para terminar explico que la aplicación esta hecha en Delphi 5 y trabaja con Firebird, en las cajas instale el firebird super server en forma de servicio. Toda caja trabaja la base de datos local.

Mucha Gracias

Rogerio

sur-se
30-11-2004, 09:15:25
Pues te contesto de forma genérica, pues es bastante difícil sin conocer partes del código donde puede estar el problema.
1) Los parámetros de configuración de Firebird en principio no tienes que tocar ninguno, al menos yo no cambio ninguno y funciona perfectamente.
2) ¿Como usas las transacciones? ¿Cada vez que grabas un registro de factura realizas un commit? , o bien ¿abres una transacción al principio de la aplicación y la cierras al final?
En general creo que el problema está en la forma en la que utilizas los componentes de acceso a datos, al menos esa es la impresión que a mi me da. Firebird soporta la grabación de muchísimos registros. Tengo clientes con bases de datos de más de 1 millón de registros y seguro que por ahí hay gente que tiene más.
Salu2.

rdaniel2000
27-12-2004, 20:58:54
Hola rogeriobeltran


El problema que tienes es con el OS, me supongo que estas usando en el Windows 98.

Este sistema operativo tiene limitada la capacidad de memoria asignada para un Ejecutable, si lo corres en Win NT o XP, no tendras ese problema, ya que esta nueva generacion de OS trabajan con mayor capacidad de memoria...


Las posibles soluciones son las siguientes:

1. Crea DLL para hacer mas chico el EXE y de esta manera no este saturado para Win98

2. Compila tu Ejecutable sin adicionar los VCL.. en Components--> Install Componenet... desactiva la opcion...

3. Cambia de OS de Win98 a WinNT o XP


Saludos.
rdaniel@cwinsystems.com