
a ver como lo ven
#1
Posted 09 July 2010 - 02:25 PM
Saludos estoy haciendo mis cositas en Del-3.1416
les pego un link de rapid
para que lo vean y me lo critiquen ( constructivamente )
ahun no lo termino
pero se aceptan los comentarios y o sugerencias
GRACIAS
http://rapidshare.co...81/Reportes.rar
#2
Posted 09 July 2010 - 02:40 PM
Bueno, no lo puedo correr por que no se la clave, pero:
1- Dos forms dos zconnection, mmmmmm.....
2- Todos los forms arrancan al unisono, mmmmm.....
Que haria yo?.
1- Un Datamodule para el zconnection.
2- Inicio solamente el form1, los otros los cargo y libero cuando lo necesito.
Saludos
PD: No se que tan bueno sea poner el codigo con la clave y usuario de la BD aqui?
#3
Posted 09 July 2010 - 03:55 PM
dos zconection por que me conecto a dos tablas distintas, podria husar solo uno pero creo que me facilita el usar uno para cada tabla ( pregunta en que cambiaria tener solo un Zconection )
como es eso de los data modules ?
y pues se inicia solamente un form ( el form1 que es el que tiene la " validacion " ) si pasa la validacion se carga el form 2
#4
Posted 09 July 2010 - 04:40 PM
A Ver
Saludos
Attached Files
#5
Posted 09 July 2010 - 04:48 PM
ha ok entiendo
creo una unidad ( no visible )
donde tenga la conexión para usar una sola conexión para toda la aplicación
esto es una sola conexión para cada usuario.
esta mas chido
pero mmm que beneficios da ???
#6
Posted 09 July 2010 - 04:55 PM
Si me voy a España para conectar la luz de mi piso y regreso y mi esposa va otra vez para apagarla y prenderla otra vez.
Te parece logico?
No es mejor que la prenda una sola vez yo y aproveche un solo viaje?.
Que te parece los beneficios?.
Saludos
#7
Posted 12 July 2010 - 06:38 AM
#8
Posted 12 July 2010 - 08:15 AM
El uso del DataModule no sólo es para colocar el componente de conexión a la base de datos. Puede contener cualquier componente no visual.
El uso del DataModule y el que este contenga todos los componentes de acceso a base de datos: Tables, querys, datasource, etc. no sólo centra a todos estos componentes en un único lugar sino que también se logra de forma inmediata y directa una casi total INDEPENDENCIA entre lo que es la capa de datos y la capa de interfaz.
Si colocamos más y más controles de acceso a base de datos en nuestros forms estamos complicando el diseño y quitándole cohesión. Un form debería dedicarse sólo a cuestiones estéticas, visuales. Cuanto más controles se tengan, más eventos de éstos se añaden al form en cuestión. Esto resulta en que el form pierde sentido y significado para lo que fue diseñado. Se lo ha "contaminado" con aspectos lógicos que no hacen a lo visual sino que pertenecen a la capa de datos. En síntesis: se mezclan ambas capas (e incluso, una tercera: lógica de dominio, de negocio y/o aplicación).
Si contamos con este DataModule separamos mejor estas capas y reorganizamos mejor el código. Lógica por un lado (unidades con declaraciones de las clases, etc), base de datos por el otro, y lo estético (interfaz) por un tercer lado.
En el DataModule quedarán ahora todos los eventos y acciones lógicas que hacen a la capa de acceso a datos. A saber: manejar la conexión, las transacciones, y el uso y explotación a nivel campos.
En ocasiones el diseño del sistema amerita el uso de de más de un DataModule. Para grandes sistemas, llenos de módulos que están relacionados y hay centenares de componentes es quizá una mejor alternativa tener varios DataModule: uno de ellos (el principal) tendría la única conexión y quizá algunos que otros componentes que sean de uso global para el resto de los DataModule. Luego, el resto de los DataModule cada uno contendría lo necesario para el Módulo al que representa... Lo que hace a Facturación por un lado, lo de Ventas por el otro... etc. Se crearían y liberarían los DataModule en cuanto sea necesarios.
Creo que con ello se entiende mejor el panorama

Saludos,
#9
Posted 12 July 2010 - 08:20 AM
GRACIAS eduarcol me queda mas claro lo tomare muy en cuenta para continuar puliéndolo
Delphius me queda mas que claro el por que y con esa explicación se aclara todo
GRACIAS
>>>>Ya vieron que ya corrijo la ortografía ??<<<<
#10
Posted 12 July 2010 - 08:29 AM
GRACIAS eduarcol me queda mas claro lo tomare muy en cuenta para continuar puliéndolo
Delphius me queda mas que claro el por que y con esa explicación se aclara todo
GRACIAS
>>>>Ya vieron que ya corrijo la ortografía ??<<<<
>>>>> Jajajaja, propóstio de año nuevo amigo ? <<<<<<<

Saludox !

#11
Posted 12 July 2010 - 09:25 AM
como que ya se me hizo bolas el barniz entonces
agrego un DataModule
y cuando tengo que utilizar el query lo mando llamar desde aya
DataModule2.ZQuery1.close ;
pero me manda un error si estoy entendiendo bien ??
#12
Posted 12 July 2010 - 09:30 AM

Si no es eso, habría que ver... porque el code ese debería andar perfectamente.
Saludos,
#13
Posted 12 July 2010 - 09:33 AM
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; TYPE TForm1 = class(TForm) PROCEDURE FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } END; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} PROCEDURE TForm1.FormCreate(Sender: TObject); BEGIN DataModule2.ZQuery1.close ; END; END.
#14
Posted 12 July 2010 - 09:37 AM

Saludox !

#15
Posted 12 July 2010 - 09:38 AM
#16
Posted 12 July 2010 - 09:51 AM
ha canijo asi si funciona pero a ver pregunta creo de kinder
primero se muestra y luego se crea ???
como lo agrego a los autocreados ?
#17
Posted 12 July 2010 - 10:01 AM
ha canijo asi si funciona pero a ver pregunta creo de kinder
primero se muestra y luego se crea ???
como lo agrego a los autocreados ?
Project -> Options... Pero ya lo hace por default
Supongo que tiene que ver el orden en que se van creando los componentes y es por eso que puede que creada la Form1 el DataModule aún no lo haga, por eso manda el error
Saludox !

#18
Posted 12 July 2010 - 11:06 AM
pero ahora me manda un error que dice
Database Coneccion Compenent is not Assigned
Eso a que se debe ??
#19
Posted 12 July 2010 - 11:12 AM
#20
Posted 12 July 2010 - 11:24 AM
Empecemos desde el principio:
Datamodule contiene el adoconnection.
Los Forms contienen los query.
En la propiedad Connection del query pones la direccion del adoconnection.
en tu caso:
Datamodule2.AdoConnection1;
No hace falta poner en el uses del form nada de nada.
Ahora:
Si el los query estan en el datamodule tambien, entonces si que hay que llamarlos desde el form y en el uses se incluirar solo.
Saludos