Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Uso de DLL y bases de datos en diversos proyectos (https://www.clubdelphi.com/foros/showthread.php?t=67684)

saldanaluis 30-04-2010 06:04:37

Uso de DLL y bases de datos en diversos proyectos
 
Estimados compañeros del club.

Tengo una duda que espero me puedan apoyar en aclararla.

En todos mis proyectos (2!) que he elaborado en Delphi 7, he puesto al inicio una forma de sign-in, solicitando el userid y password del usuario que se firma en el sistema, y esto lo valido con la tabla de usuarios de la base de datos del proyecto.

Obviamente cada base de datos de los dos proyectos que he elaborado son diferentes, pero la funcionalidad de la forma de sign-in es la misma, solo cambia el nombre de la base de datos.

Mi pregunta es si es posible el crear un DLL con la forma de sign-in para ser utilizada en los próximos proyectos que tenga, y que consideraciones debo de tomar para poder utilizar este DLL con bases de datos diferentes.

Bueno. Otra pregunta sería: ¿ya que tengo el DLL funcionando adecuadamente, de que manera se manda llamar para que el DLL tome el control del sistema y presente la pantalla de sign-in?

Gracias de antemano por su valioso apoyo.
PD: Tengo en puerta un proyecto, que en estos momentos está siendo evaluado por el prospecto de cliente.

Muchos saludos a todos.

manuc 30-04-2010 11:25:33

Hola saldanaluis,

Si quieres hacer un módulo re-utilizable que solo vas a utilizar con Delphi, te recomiendo que generes un BPL, más que una DLL.

Dentro de este BPL, puedes crear la interface de usuario y toda la programación que necesites, para tu módulo de sign-in.
Tienes que programar este módulo, intentando que sea (relativamente) independiente del resto del Software, para que sea compatible con todos las aplicaciones en las que quieras utilizarlo.

El tema de utilizar este módulo con distintas bases de datos, es dependiente de muchos factores. Uno de ellos es la estructura que utilizas en tus aplicaciones. Es decir, si utilizar un módulo de datos con una conexión a base de datos (por ejemplo).
En este caso, el módulo de datos se encargaría de inicializar la conexión (ruta a bd, etc) y desde el propio módulo de sign-in, podrías "enlazar" con esa conexión y nada más. Desde dentro del módulo ya conectas los componentes que necesites para manejar la base de datos.

La llamada a la DLL o al BPL, es muy similar.

En primer lugar tienes que decidirte si utilizar Dll's o BPL's.
Si decides utilizar BPL, tienes que saber que hay dos formas de integrarlo en tu Software: Enlace dinámico o estático.

Enlace dinámico: por decirlo rápidamente, compilas tu módulo y lo cargas en tiempo de ejecución, de tal forma que no existe una relación directa entre el ejecutable principal y BPL del módulo. En este caso no podrás ejecutar directamente las funciones o procedimientos que tengas programados dentro de tu módulo.

Enlace estático: existe una relación entre el ejecutable principal y el módulo, de tal forma, que el ejecutable puede hacer uso de todas las funciones, procedimientos, classes, variables públicas, etc. que tengas programadas en tu módulo.

Dependiendo del tipo de módulo, la carga se realizaría de un modo u otro.

Si quieres, analizalo un poco, y me vas preguntando dudas, ya que cuando te inicias en este tipo de técnicas todo es un poco confuso hasta que le coges el hilo (también depende de quién te lo explique :) y en este caso reconozco que no lo hago muy bien).

Un saludo.

saldanaluis 01-05-2010 23:57:40

Hola Manuc.
Gracias por tus sugerencias, que me han parecido muy valiosas. El solo hecho de comentarme que si voy a utilizar unicamente delphi es mejor usar BPL que DLL es una respuesta que vale oro.
Dado esto, voy a utilizar BPL en lugar de DLL.
Generalmente uso un DATAMODULE (Modulo de datos) y voy a tratar de hacer lo que me recomiendas, conectando posteriormente mi modulo de Sign-in.
Yo suelo poner la forma de Sign-in como la forma principal del proyecto DPR para que sea la primera forma que se muestra. En este caso voy a poner la forma de funcionalidad principal como forma principal, y de alguna manera, al iniciar esta forma, llamar al modulo DPR. Si me pudieras decir de que manera llamo al mòdulo DPR de Sign-in te lo agradecería.
Te iré actualizando de como voy avanzando con esto.
Gracias nuevamente.
Saludos...


La franja horaria es GMT +2. Ahora son las 23:24:02.

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