![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Autocreacion de Datamodules S/N
Hola :
¿Los modulos de datos los teneis en autocreacion o los creais por codigo? Si los creais por codigo lo haceis en el evento oncreate del formulario que los usa ¿NO? Y los destruis cada vez que cerrais el formulario y luego los volveis a crear .¿No se pierde mucho tiempo asi?. ¿No se? Saludos. |
#2
|
||||
|
||||
Hola,
Depende, depende y depende. Puedes crear los "TDataModule" (como cualquier otro objeto) en el momento en que vayas a hacer uso del mismo, y destruirlo acto seguido. Puedes crearlo al inicio de la aplicación, en el archivo "DPR" del proyecto, o en el evento "OnCreate" de un formulario. Depende, depende y depende. ![]() |
#3
|
||||
|
||||
Hola
Pregunto: Para que crear un datamodule por codigo? No es mas facil en tiempo de diseño? Un Datamodule (contenedor de datos)., me extraña. ![]() Saludos |
#4
|
||||
|
||||
Coincido Caral, el datamodule basicamente nos ayuda a tener a la mano los datasets que ocupemos en nuestro proyecto, de manera que podamos acceder rapidamente a ellos. Si lo hacemos por código pierde esta funcionalidad además de volverse engorroso.
Por otro lado, si usamos un dataset solamente en un formulario, si es mejor crear el dataset por código y destruirlo cuando no se utilice más.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#5
|
||||
|
||||
Yo coincido con dec. Si recordamos el hilo Un Datomodulo o varios?, los argumentos que algunos dimos ahí para tener más de un módulo de datos por aplicación, aplican también para su creación. Hay módulos que posiblemente no se usen en una corrida, dependiendo del trabajo que se esté haciendo. Tales módulos sería innecesario crearlos.
// Saludos |
#6
|
||||
|
||||
Hola
Roman, no se en que estas de acuerdo, si se habla del datamodule, se habla de un lugar o form en el que se coloquen tanto los conectores de las bases de datos, como los tables, querys, reportes, etc, etc. Segun recuerdo uno de los argumentos es tener en orden el proyecto, teniendo un lugar en donde ubicar todo lo dicho y poder tener acceso a estos a lo largo del proyecto. Casualmente en mi caso, al utilizar el datamodule exclusivamente para el conector, a la hora de querer hacer un cambio de sistema se hace muy engorroso el trabajo, ya que hay que recorrer cada form, para hacer los cambios. Sigo sin entender el porque hacer o crear un datamodule en ejecucion, sea donde sea, para que, si se crea de esta manera, para que sirve?, abra que crear los tables, querys y demas de la misma manera?, todo por codigo en ejecucion, para mi es volver al DOS, o basic. Por supuesto Roman, este comentario es de un novato, solo opino y busco aprender, sin cuestionar tu conocimiento. Saludos |
#7
|
||||
|
||||
Yo también soy partidario de:
Pongamos como ejemplo una aplicación con la que estos días me estoy peleando, la cual su planteamiento inicial fue erróneo. Este programa, consta de cientos de ventanas, reports y por supuesto incontables componentes de datos, el problema es que solamente cuenta con un solo datamodule, lo que para mi, resulta totalmente caótico. Huelga decir que ese datamodule se crea al inicio del programa y permanece durante toda la ejecución del mismo, con todo lo que ello acarrea...
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO |
#8
|
|||
|
|||
Cita:
A lo que se refiere Román es que no todos los DataModules tienen que estar creados desde el inicio de la aplicación... Por ejemplo, el DataModule que usas para tener la conexión a la base de datos, ese si lo puedes tener para que se cree automáticamente al iniciar la aplicación. Pero puede que tengas un DataModule que solo necesites en cierto momento de la aplicación, entonces, no es buena idea tenerlo todo el tiempo en memoria si solo se va a usar por un tiempo corto en cierto momento; en ese caso, puedes crear el DataModule antes de usarlo y luego de usado lo destruyes de nuevo. Con esto no quiere decir que tengas que construir todos los componentes del DataModule por código, puedes crearlo en tiempo de diseño y sacarlo de la lista de autocreación del proyecto y ya luego al momento de usarlo:
Espero que esto aclare tus dudas al respecto... Saludos... |
#9
|
||||
|
||||
Marcos lo ha explicado perfectamente !
Caral : No se trata de 'diseñarlo' y meter todos tus querys, etcetera en dicho datamodule, que evidentemente lo harás en tiempo de diseño. Se trata de 'crearlos' para que estén disponibles a la aplicación en sí mismo. Es decir, DataModule.Create Eso coincido plenamente con todos los comentarios anteriores. Depende, depende y depende. Dependerá de cada aplicación y uso. Como dice ArdiIIa, un DataModule con cientos de DataSet's que se cree al principio de la aplicación y esté activo durante toda la aplicación, no tiene sentido en absoluto.
__________________
Piensa siempre en positivo ! |
#10
|
||||
|
||||
Hola
Bueno, por eso uno es un novato y hace preguntas o se cuestiona como tal. Os ha veis explicado perfectamente, ya entiendo el punto, ya se que soy lento pero llego. ![]() Espero no haber ofendido a Roman, con mi inquietud, no fue mi intencion. Saludos |
#11
|
|||
|
|||
Cita:
![]() ![]() ![]() Vamos pues que yo también aprendí algo hoy, eso es lo destacable. Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#12
|
||||
|
||||
Bueno pues yo tambien he aprendido algo mas.
al final creo que crearlos por codigo sera lo que ahorrara mas recursos, y tambien considero que crear varios sera mas eficiente y ordenado. De todas maneras como bien decis depende, se pueden hacer pruebas. Gracias a todos. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Varias instancias DataModules | rodmayes | OOP | 1 | 05-09-2005 13:37:45 |
DataModules en Net | lafirma | .NET | 3 | 31-05-2005 17:35:44 |
1 TSession para varios DataModules | Lepe | Conexión con bases de datos | 5 | 15-01-2004 10:44:35 |
![]() |
|