Ver Mensaje Individual
  #1  
Antiguo 06-02-2006
gorsan gorsan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Alcala de Henares (Madrid)
Posts: 87
Reputación: 21
gorsan Va por buen camino
Angry 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.
Responder Con Cita