FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Insuffient memory for this operation
Muy buenas queridos foreros.
Uso Delphi 4 professional edition + BDE 5.0 Tengo cuatro modulos de datos. El primero contiene 192 objetos (96 tablas + 96 DataSources). El segundo contiene 24 objetos (12 tablas + 12 DataSource). El tercero 72 objetos (36 tablas y 36 DataSource) y el cuarto contiene 120 objetos (60 tablas + 60 DataSource). El caso es que si los coloco en el auto-create forms del proyecto, el BDE se queja dándome el mensaje 'Insuffient memory for this operation' cuando intenta cargar las tablas de el ultimo datamodule, parace ser que tiene que reservar memoria para muchas tablas y no puede cosa que yo desconocía y hasta ahora nunca me habia pasado tal cosa. Entonces pienso en ubicarlas como 'Available forms' e ir creando los datamodule cuando sean requeridos y luego destruirlos antes de cargar el siguiente. Ya .... peros esa labor no soy capaz de hacerla y se me queda cara de j ... La idea es ubicar cuatro botones en el formulario principal de la aplicacion y si pulso el primero cargar el datamodule1 y descargar los otros y asi sucesivamente con los otros tres botones pero no se como hacerlo, de verdad, no se como hacerlo. ¿Alguien me puede echar un cable y decirme exactamente como tengo que hacerlo? pero con pelos y señales porque soy muy torpe. He probado con ubicar en el evento oncreate de cada datamodule el codigo: DataModule2.Free; DataModule3.Free; DataModule4.Free; (ejemplo para el datamodule1) y en el onclick del primer boton: DataModule1:=TDataModule1.Create(Application); pero me sale el mensaje 'raised exception class EAccessViolation with message access violation at address 00417681. Read of address 000001B4 cuando cliqueo entre los 4 botones. Una ayuda por caridad. Gracias. |
#2
|
||||
|
||||
Pues no lo veo buena idea, porque entonces el usuario tendría que estar pulsando botones para que al entrar en tal o cual módulo ya tuviera las tablas abiertas.
Yo lo que hago es crear varios datamódulos, solamente creo el principal, en donde están las tablas que se van a utilizar en todo momento, por ejemplo si es de facturación, Clientes, Albaranes, Facturas. El módulo de estadísticas, queda disponible con todas sus tablas cerradas y solamente cuando es necesario se carga y se abren únicamente las tablas que van a utilizarse....... Debe ser el programa quien decida cuando carga y libera los módulos dependiendo de las opciones que vaya eligiendo el usuario. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Excepciones | Acker | Tablas planas | 6 | 06-08-2005 15:22:18 |
insuficiente memoria / insuficient memory | mmateo25v | Conexión con bases de datos | 6 | 23-03-2005 16:46:27 |
Error :Insufficient memory for this operation | Alfredo | Varios | 6 | 22-12-2004 21:09:30 |
Insufficient memory for this operation. | ingacg | Conexión con bases de datos | 1 | 26-09-2003 03:27:01 |
Insufficient memory for this operation | ingacg | Conexión con bases de datos | 3 | 16-07-2003 00:27:05 |
|