Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cargar DataModule en tiempo de ejecucion (https://www.clubdelphi.com/foros/showthread.php?t=15007)

luigidean 07-10-2004 03:00:33

Cargar DataModule en tiempo de ejecucion
 
Hola foro, no sabia muy bien donde iba este hilo por eso lo pongo en la seccion Varios. Mi problema es el siguiente(perdonad si soy demasiado detallista con la explicacion):

Mi aplicacion cuenta con varios forms y un datamodule(y dentro de este dos TADOQuery, tres TDataSource, un TADOTable y un TADOConnection). Pues bien para no cargarlo todo en memoria, en el menu Project/Options, pestaña Forms solo dejo que me cree automaticamente mi formulario principal y tanto el resto de formularios como el datamodule lo paso a la lista de Available Forms.
Al cargar los formularios en tiempo de ejecucion no tengo problemas, pero si quiero cargar el Datamodule ahi es cuando falla. La creacion del datamodule lo hice de la siguiente forma(los nombres que vienen a continuacion no son reales)

Código:


datamodule:=datamodule.create(self);
 
//viendo que no me funcionaba con lo anterior, añadí lo siguiente
datamodule.tadoconnection:=datamodule.tadoconnection.create(self);
......
...... y asi con el resto de tablas y querys. Repito, los nombres de tadoconnection y datamodule son inventados.

Este codigo lo puse en todas partes, tanto en el create del form principal, luego probe con el create del form que realiza operaciones con las querys, tambien antes y depues de crear el form que realiza las operaciones con la BD, en fin que he hecho un monton de pruebas y nada. A ver si vosotros sabeis como ayudarme.

Venga saludos y gracias de antemano. chao ;)

keyboy 07-10-2004 06:27:33

En la línea

datamodule.tadoconnection:=datamodule.tadoconnection.create(self);

falta la t antes del segundo datamodule:

datamodule.tadoconnection:=Tdatamodule.tadoconnection.create(self);

Bye

aig 07-10-2004 09:18:26

En el dpr antes de Application.Run puedes poner Application.CreateForm(TDataModulo,NombreDataModulo);

Otra cosa que no sé si puede darte problema es que tenga el AdoConection dentro del DataModulo.

Y otra cosa que se me ocurre es que puedas tener las tablas con la propiedad Activa a True y cuando intentas crear el DM y por tanto se abren las tablas, no pueden hacerlo porque aun no se abrió la conexión.


Saludos.

luigidean 08-10-2004 00:30:34

Cita:

Empezado por keyboy
En la línea

datamodule.tadoconnection:=datamodule.tadoconnection.create(self);

falta la t antes del segundo datamodule:

datamodule.tadoconnection:=Tdatamodule.tadoconnection.create(self);

Bye

gracias a los dos por vuestra respuesta. al final me sirvio lo que dijo keyboy, lo que me faltaba era ponerle la T, al final lo que puse fue:

datamodule:=Tdatamodule.create(self);

y con eso funciona.


La franja horaria es GMT +2. Ahora son las 21:29:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi