Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-12-2006
Avatar de Albano
Albano Albano is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nogales, Sonora, Mexico
Posts: 422
Poder: 20
Albano Va por buen camino
DataModule... donde lo pongo al crearlo?

Hola a todos! Tengan un buen día.
Estoy empezando con el tema de creación de objetos en tiempo de ejecución y lo que quiero es crear un DataModule para poner algunos componentes ADO sobre él, en lugar de ponerlos sobre un formulario... Lo creo con el siguiente código:
Código Delphi [-]
ModuloDatos := TDataModule.Create(Form1);
Puse el Form1 porque me pedía ese parámetro, pero ahí de todos modos estoy usando el formulario, que es lo que quiero evitar... cómo lo puedo hacer?
__________________
"Sé de tal manera y vive una vida tal, que si todos los hombres fueran como tú y vivieran como tú, nuestro mundo sería un paraíso terrenal"
Siempre hazlo con la ayuda de Dios

Última edición por Albano fecha: 13-12-2006 a las 18:15:41.
Responder Con Cita
  #2  
Antiguo 13-12-2006
Avatar de Albano
Albano Albano is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nogales, Sonora, Mexico
Posts: 422
Poder: 20
Albano Va por buen camino
Resuelto... En lugar de poner Form1, puse ModuloDatos (el mismo componente) y funciona, no necesito el formulario...
Alguien me puede explicar un poquito en qué consiste esa instrucción?
Gracias.

P.D. ya empecé con mis soliloquios.
__________________
"Sé de tal manera y vive una vida tal, que si todos los hombres fueran como tú y vivieran como tú, nuestro mundo sería un paraíso terrenal"
Siempre hazlo con la ayuda de Dios
Responder Con Cita
  #3  
Antiguo 13-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Iba a abstenerme de reponder.... mi primera respuesta era "ponlo encima del frigorífico "... pero después de ver tu último mensaje, quiero hacer una aclaración.

El parámetro que te pide es el Aowner (dueño), quiere decir exactamente: "¿quién será el encargado de destruir el datamodule?".

Si pones Form1, cuando se libere el Form1 se liberará (destruir de memoria) el datamodule. En algunas ocasiones es totalmente válido, por ejemplo si ese Datamodule tiene solo las consultas y Tablas de ese formulario, así hacemos un correcto uso de memoria, al crearse el Form1, se crea todas las consultas y ttables del datamodule, y al cerrar el Form1, automáticamente se libera el datamodule.

Otro escenario es crear al inicio de la aplicación el datamodule y dejarlo creado durante toda la vida del programa. El aowner será el objeto "Application", de tal forma que cuando quieras cerrar el programa, entonces se libere el datamodule automáticamente.

Existen un parámetro especial, puedes poner como Aowner "nil", que significa que nadie destruirá el Datamodule; esto se usa cuando tú en alguna circunstancia especial escribes Datamodule1.Free (o lo que es lo mismo, nadie destruye automáticamente el Datamodule porque yo mismo me encargo de ello llamando a .Free).

Espero que me haya explicado con claridad. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 13-12-2006
Avatar de Albano
Albano Albano is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nogales, Sonora, Mexico
Posts: 422
Poder: 20
Albano Va por buen camino
Cita:
Empezado por Lepe
Espero que me haya explicado con claridad. Saludos
Clarísimo!! Ya estoy entendiendo. Gracias.
__________________
"Sé de tal manera y vive una vida tal, que si todos los hombres fueran como tú y vivieran como tú, nuestro mundo sería un paraíso terrenal"
Siempre hazlo con la ayuda de Dios
Responder Con Cita
  #5  
Antiguo 13-12-2006
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
En la mayoría de las aplicaciones estandar de Base de Datos, personalmente prefiero que el DataModule se cree automáticamente desde el inicio de tu aplicación.

solo asegurate que la linea Application.CreateForm(TDataModule1, DataModule1); se encuentre antes de la creación de los demas fromularios en tu archivo dpr.

o desde las opciones del proyecto en Auto-create forms, que este primero.
__________________
[Crandel]
Responder Con Cita
  #6  
Antiguo 14-12-2006
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
La opcion mas facil como dice Crandel es crear en datamodule en tiempo de diseño y dejar que delphi se encargue de crearlo y borrarlo (el comportamiento por default)...
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #7  
Antiguo 14-12-2006
Avatar de Albano
Albano Albano is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nogales, Sonora, Mexico
Posts: 422
Poder: 20
Albano Va por buen camino
Cita:
Empezado por AzidRain
crear en datamodule en tiempo de diseño y dejar que delphi se encargue de crearlo y borrarlo
Se puede hacer esto con un DLL? Se pueden poner componentes en tiempo de diseño? Tal vez sea una pregunta muy tonta, pero apenas estoy entrando al tema, de verdad no tengo idea.
__________________
"Sé de tal manera y vive una vida tal, que si todos los hombres fueran como tú y vivieran como tú, nuestro mundo sería un paraíso terrenal"
Siempre hazlo con la ayuda de Dios
Responder Con Cita
  #8  
Antiguo 14-12-2006
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
Cita:
Empezado por Albano
Se puede hacer esto con un DLL? Se pueden poner componentes en tiempo de diseño? Tal vez sea una pregunta muy tonta, pero apenas estoy entrando al tema, de verdad no tengo idea.
no lo creo

pero para esta pregunta es preferible que esperes un poco para ver si alguen te contesta en el hilo horiginal y sino, escribe un nuevo mensaje para que se refresque el hilo
__________________
[Crandel]
Responder Con Cita
  #9  
Antiguo 14-12-2006
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Nos encontramos en uno de esos hilos en que la verdadera duda yace por ahi escondida en espera de ser adivinada...

La pregunta inicial debio ser: "Como puedo poner un DataModule en una DLL para que pueda accesarla desde otros programas"

Y eso cambiaria mucho el hilo...

Asi cambia la cosa...en tiempo de diseño teoricamente es posible hacer una DLL como la que quieres, sobre todo por tratarse de componentes no visuales.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #10  
Antiguo 14-12-2006
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
Eso dependera de Albano, posiblemente no le contesten su duda dado que nadie entendio la pregunta
__________________
[Crandel]
Responder Con Cita
  #11  
Antiguo 14-12-2006
Avatar de Albano
Albano Albano is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nogales, Sonora, Mexico
Posts: 422
Poder: 20
Albano Va por buen camino
Cita:
Empezado por Crandel
posiblemente no le contesten su duda dado que nadie entendio la pregunta
Discúlpenme, es que estoy empezando y me enredo con estos temas (DLLs y Creación de objetos en tiempo de ejecución), en ocaciones no se ni cómo preguntar... Pero mi duda sobre el DataModule está resulelta, mejor me voy a los otros hilos para seguir con el tema de la DLL... Gracias.
__________________
"Sé de tal manera y vive una vida tal, que si todos los hombres fueran como tú y vivieran como tú, nuestro mundo sería un paraíso terrenal"
Siempre hazlo con la ayuda de Dios
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
donde pongo DataSource Luis Castillo Conexión con bases de datos 1 23-10-2005 20:58:27
Como pongo un mensaje de aviso Antuan Varios 6 23-08-2005 09:51:34
Access ´03 con delphi7. Donde pongo las sentencias. casimaxi Conexión con bases de datos 4 27-07-2005 03:22:30
como pongo un gif en un form ConanDoel Varios 2 22-05-2005 18:11:02
¿Como pongo un .jpg de fondo en un BitBtn? GabiMel Gráficos 10 17-04-2004 01:39:08


La franja horaria es GMT +2. Ahora son las 18:32:53.


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
Copyright 1996-2007 Club Delphi