Ir al contenido


Foto

a ver como lo ven


  • Por favor identifícate para responder
26 respuestas en este tema

#1 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 09 julio 2010 - 02:25


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


  • 0

#2 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 09 julio 2010 - 02:40

Hola
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?
  • 0

#3 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 09 julio 2010 - 03:55

el hecho de que no libere la form 1 es para mantener hay la variable para cuando la necesite el ID del usuario
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

  • 0

#4 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 09 julio 2010 - 04:40

Hola
A Ver
Saludos

Archivos adjuntos


  • 0

#5 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 09 julio 2010 - 04:48


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 ???
  • 0

#6 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 09 julio 2010 - 04:55

Hola
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
  • 0

#7 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 12 julio 2010 - 06:38

Lo mismo que te dice Caral, el beneficio es que manejarías y administrarías una única conexión a la BD.  Abrir una conexión cada vez que abres un formulario trae mas inconvenientes que beneficios.
  • 0

#8 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 12 julio 2010 - 08:15

¡Hola!
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,
  • 0

#9 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 12 julio 2010 - 08:20


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 ??<<<<
  • 0

#10 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 12 julio 2010 - 08:29


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 ? <<<<<<< (y)

Saludox ! :)
  • 0

#11 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 12 julio 2010 - 09:25

a ver perdon

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



sql
  1. DataModule2.ZQuery1.close ;



pero me manda un error si estoy entendiendo bien ??


  • 0

#12 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 12 julio 2010 - 09:30

¿Qué error te arroja amigo? ¿Te aseguraste de tener en uses la unidad del DataModule?  ;)

Si no es eso, habría que ver... porque el code ese debería andar perfectamente.

Saludos,
  • 0

#13 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 12 julio 2010 - 09:33

Proyect Reportes.exe raised exception class EAcces Violation whit message ´Acces violation at address 00569d97 in module ´reportes.exe´, read of address 0000005C´.


sql
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs;
  8.  
  9. TYPE
  10.   TForm1 = class(TForm)
  11.     PROCEDURE FormCreate(Sender: TObject);
  12.   private
  13.     { Private declarations }
  14.   public
  15.     { Public declarations }
  16.   END;
  17.  
  18. var
  19.   Form1: TForm1;
  20.  
  21. implementation
  22.  
  23. uses Unit2;
  24.  
  25. {$R *.dfm}
  26.  
  27. PROCEDURE TForm1.FormCreate(Sender: TObject);
  28. BEGIN
  29.   DataModule2.ZQuery1.close ;
  30. END;
  31.  
  32. END.




  • 0

#14 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 12 julio 2010 - 09:37

Intenta poniendo ese código en el evento OnShow de la forma amigo (y)... El error es porque estás tratando de usar un objeto que no está creado...

Saludox ! :)
  • 0

#15 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 12 julio 2010 - 09:38

Agrega el datamodule a la lista de componentes autocreados...
  • 0

#16 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 12 julio 2010 - 09:51


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 ?


  • 0

#17 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 12 julio 2010 - 10:01


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 ! :)
  • 0

#18 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 12 julio 2010 - 11:06

digo si se estructura mejor
pero ahora me manda un error que dice

Database Coneccion Compenent is not Assigned

Eso a que se debe ??
  • 0

#19 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 mensajes

Escrito 12 julio 2010 - 11:12

checa bien tu conexion de data base o el programa ke la haceis
  • 0

#20 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 12 julio 2010 - 11:24

Hola
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
  • 0




IP.Board spam blocked by CleanTalk.