Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-11-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Question Existe el concepto de "PAQUETES" en Delphi?

Hola amigos del club, quisiera saber si en Delphi existe el concepto de "paquetes" para crear Modulos en las aplicasiones, es decir por ejemplo:
Tener EL MODULO O PAQUETE DE VENTAS,MODULO O PAQUETE DE INVENTARIO,PAQUETE DE COMPRAS,ETC,ETC; que son cada uno independiente pero que entre todos forman el Sistema entre si.
Pregunto esto por que desconosco si existe esa forma de trabajar en Delphi.
No quisiera crear un conflicto pero en java se trabaja de esta forma con los famosos "paquetes" para que la aplicasion pueda tener las diferentes capas.
Espero que me hayan entendido..... ya que nesecito saber si se puede para poder implemetarlo en mi Aplicacion....
Muchas gracias de antemano.....
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #2  
Antiguo 26-11-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

En Delphi tenemos el concepto de Packages que bien se podría utirlizar para lo que quieres...

Busca en el foro por pluging o por paquetes y deberás encontrar más información al respecto.



Saludos...
Responder Con Cita
  #3  
Antiguo 26-11-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Exclamation

Ya busque y no pude encontrar mucho que digamos, al parecer el concepto de "PAQUETE" en delphi se refiere a otra cosa y no a lo que me estoy refiriendo.
Parece ser que en Delphi el concepto de paquete se refiere mas especificamente a un grupo de componentes que pueden instalarse o crearse en el IDE.
Pero yo no me refiero a eso sino a la forma de trabajar en una aplicasion multicapa.
Espero haberme explicado...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #4  
Antiguo 26-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Si existe, aunque se usa cuando el sistema es grande, muy grande diría yo. Para mí es grande si el .exe pesa más de 10 megas, pero vamos, es mi criterio.

Aquí un enlace para empezar, después puedes ir tirando del hilo

Aquí otro, busca en el foro por "runtime package" (sin las comillas), algún hilo hablará de componentes, otros de datamodules y formularios... esos son los que te interesa .
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 26-11-2008
Avatar de xEsk
[xEsk] xEsk is offline
Miembro Premium
 
Registrado: feb 2006
Posts: 454
Poder: 19
xEsk Va por buen camino
La idea de paquetes (tal como en Java) en Delphi no existen. Pero de hecho los paquetes en Java (por lo que he visto hasta el momento) no dejan de ser directorios.

Una forma de "emular" esto, seria creando los directorios y meter las units dentro. Asi en el inspector del proyecto, lo puedes tener origanizado por "paquetes".

No se si se me ha entendido... xD
Responder Con Cita
  #6  
Antiguo 26-11-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
De hecho, los paquetes (Packages) se pueden utilizar para las dos cosas, es decir, tienes paquetes de diseño ("Desing Package" - los componentes que instalas en Delphi) y tienes paquetes de ejecución (RunTime Package), que son los que te interesarían y que puedes crear en Delphi. También tienes los paquetes que son de diseño y ejecución, pero eso ya es más aparte.

Utilizando paquetes (packages) puedes de manera muy sencilla, hacer módulos para tu sistema, en pocas palabras, tendrías un ejecutable (archivo .exe) con el que cargues los paquetes (módulos de tu sistema). Puedes manejar versiones de prueba, estandar, avanzadas, modulares o como lo necesites, simplemente sería cuestión de organizar como distribuyes los archivos de los paquetes (archivos .bpl).

Aquí tienes un ejemplo muy claro sobres como trabajar con paquetes con el que te puedes basar para lograr lo que buscas.
__________________

Responder Con Cita
  #7  
Antiguo 26-11-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Cita:
Una forma de "emular" esto, seria creando los directorios y meter las units dentro. Asi en el inspector del proyecto, lo puedes tener origanizado por "paquetes".
Si yo habia pensado en eso pero la diferencia es que en Java lo puedes trabajar a nivel de capa, es mas se trabaja con Modelo-Vista-Controlador

y puedes poner en un paquete no solo Form(Frames en java)sino tambien unidades planas, osea sin form(Frame).
En cuanto a lo que dice Lepe me parece como lo he dicho antes que el concepto de Paquete en Delphi va relacionado con componentes.
Los hilo que he visto hablan de form(Componentes)y otros.
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #8  
Antiguo 26-11-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Exclamation

Cita:
De hecho, los paquetes (Packages) se pueden utilizar para las dos cosas, es decir, tienes paquetes de diseño ("Desing Package" - los componentes que instalas en Delphi) y tienes paquetes de ejecución (RunTime Package), que son los que te interesarían y que puedes crear en Delphi. También tienes los paquetes que son de diseño y ejecución, pero eso ya es más aparte.

Utilizando paquetes (packages) puedes de manera muy sencilla, hacer módulos para tu sistema, en pocas palabras, tendrías un ejecutable (archivo .exe) con el que cargues los paquetes (módulos de tu sistema). Puedes manejar versiones de prueba, estandar, avanzadas, modulares o como lo necesites, simplemente sería cuestión de organizar como distribuyes los archivos de los paquetes (archivos .bpl).

Insisto todo lo que se ha dicho sobre los paquetes en Delphi(Paquetes dinamicos,etc)al parecer es a nivel de componentes.Si me equivoco corrijanme..
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #9  
Antiguo 26-11-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Si bien los paquetes mayormente se usan para instalar componentes en el IDE, como bien te comenta ContraVeneno, también se pueden usar para lo que quieres. Estos son los llamados paquete en tiempo de ejecución.

Un paquete puede contener unidades de funciones y procedimientos, clases y/o formas.

Podrías tener un paquete Ventas.bpl con una clase TVentas, la cual al instanciarla como un objeto te cree las formas y demás para tu módulo de ventas. De tal forma que si tu aplicación no encuentra el paquete "Ventas.bpl" no activa esa opción.

Revisa bien los enlaces que ya te han proporcionado y verás que si se puede hacer lo que quieres.



Saludos...
Responder Con Cita
  #10  
Antiguo 26-11-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Cita:
Empezado por rgstuamigo Ver Mensaje
Si me equivoco corrijanme..
Estas equivocado, te corrijo . Los paquetes como ya hemos mencionado, pueden ser de diseño y/o de ejecución. Por lo que veo, solo has visto/leído sobre paquetes de diseño. Lo que a ti te interesa son los paquetes de ejecución (Runtime packages).

En el enlace que te puse, viene un ejemplo bien claro sobre como utilizar los paquetes para lograr lo que tu quieres (paquetes cargados dinámicamente). Concretamente, al final de la página vienen los ejemplos utilizados en el artículo y el que más te debería interesar es el tercer ejemplo.
__________________

Responder Con Cita
  #11  
Antiguo 26-11-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Lightbulb

Ok saco mis conclusiones:
Al parecer Delphi en un lenguaje mas orientado a componente por tanto el concepto de PAQUETE es diferente que otros Lenguajes por tal razon la opcion de crearse Paquetes es un poco tediosa pero se puede aunque es distinta la forma de trabajar.
Les agradesco su tiempo y sus comentarios.....
Saludos.....
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #12  
Antiguo 26-11-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
será que no conozco como hacen en otros lenguajes, pero el método de Delphi a mi no me parece tedioso, la verdad es que utilizando paquetes puedes realizar eso que necesitas y mucho más.

Un ejemplo, con los archivos:

MiSistema.Exe .- Archivo ejecutable para cargar dinámicamente los paquetes
Conexion.bpl .- Paquete con las funciones necesarias para realizar una conexión a base de datos. Tanto el .exe como todos los .bpl utilizan este mismo archivo, por tanto tienes una misma conexión para todos los módulos.
Ventas.bpl .- Paquete con los formularios para el módulo de ventas
Clientes.bpl .- Paquete con los formulario para el catálogo de clientes

Ahora, en cada paquete puedes incluir el número de versión y puedes tener por ejemplo:
Ventas.bpl - Versión 1 - paquete de prueba, con solo las funciones necesarias.
Ventas.bpl - Versión 2 - Paquete completo y funcional.

Si un cliente quiere el módulo de clientes, solo le envías la aplicación y su módulo de clientes. Y aquí podrías incluir el paquete de ventas en su versión de prueba. Si a tu cliente le gusta, solo es necesario enviar el archivo de la versión completa del módulo de ventas, no requiere instalación ni nada extra, solo cambiar el paquete (archivo .bpl).

Es que tu comentario de "crear paquetes es tedioso" no le encuentro sentido o explicación. Yo he trabajo con paquetes de la misma manera en la que trabajarías con varios formularios en un solo ejecutable.
__________________

Responder Con Cita
  #13  
Antiguo 26-11-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Cita:
Es que tu comentario de "crear paquetes es tedioso" no le encuentro sentido o explicación. Yo he trabajo con paquetes de la misma manera en la que trabajarías con varios formularios en un solo ejecutable.
Te das cuenta contraveneno que estas hablando de Formularios(Componente), es lo que decia y recalcaba,.
y aqui va una pregunta :
Y que pasa si quiero tener un paquete(Modulo de negocio) sin ningun formulario , es decir son puras unidades planas sin ni siquiera heredar de algun componentes?.¿Es posible hacerlo?
Por eso digo que el concepto es diferente entre un lenguaje y otro.
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #14  
Antiguo 27-11-2008
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Los paquetes en tiempo de ejecución en Delphi generan bibliotecas (*.BPL) que son simplemente bibliotecas (*.DLL) con características especiales para cada versión de Delphi.

Dicho de otra manera, si solamente quieres incluir código compilado dentro de un paquete, obtendrás el mismo resultado que generar una DLL.

Sin embargo, la principal característica de los BPL, es precisamente que te permiten incluir las clases, formularios, componentes, recursos en general y llamarlos directamente desde Delphi sin mayor problema.

Saludos.
Responder Con Cita
  #15  
Antiguo 27-11-2008
Avatar de diegofhernando
diegofhernando diegofhernando is offline
Miembro
 
Registrado: may 2003
Ubicación: Locombia papá!
Posts: 267
Poder: 22
diegofhernando Va por buen camino
Cita:
Empezado por rgstuamigo Ver Mensaje
Te das cuenta contraveneno que estas hablando de Formularios(Componente), es lo que decia y recalcaba,.
y aqui va una pregunta :
Y que pasa si quiero tener un paquete(Modulo de negocio) sin ningun formulario , es decir son puras unidades planas sin ni siquiera heredar de algun componentes?.¿Es posible hacerlo?
Por eso digo que el concepto es diferente entre un lenguaje y otro.
Si te refieres a que si puedes modularizar en uno de estos paquetes las "reglas de negocio" de tu aplicación la respuesta es SI y como comentan algunos amigos foristas, no es necesario u obligatorio que tengas componentes visuales dentro del paquete para que funcione, si solo quieres tener una función que reciba un parametro para generar un resultado bien lo podrias hacer.

Salu2
__________________
Diego. Colombia es pasión.
Responder Con Cita
  #16  
Antiguo 27-11-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Si bien pueden haber variaciones de un lenguaje a otro, yo creo que el concepto de paquete es, a fin de cuentas lo mismo: separar la aplicación en unidades lógicas que puedan intercambiarse sin afectar a las demás.

Como ya han mencionado, en un paquete de delphi se pueden meter componentes, formularios, unidades, planas, y demás recursos.

Nuestro amigo rgstuamigo insiste mucho en que los paquetes de delphi no son como en otros lenguajes, pero quizá sería bueno que aclarase más qué es lo que esperaría. Porque, por ejemplo, en java, los paquetes, hasta donde sé, únicamente contienen clases, pues, de hecho, en java sólo hay clases, no unidades "planas".

// Saludos
Responder Con Cita
  #17  
Antiguo 27-11-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Opción 1:
Pues no se si se llaman paquetes, pero puedes hacer una dll por cada módulo de la aplicación.

Opción 2:
Hay una forma de dividir la aplicación que hagas en diferentes "paquetes". Lo malo es que no recuerdo como se llaman. Funcionan de forma similar a una dll... se cargan en momento de ejecución y luego hay que liberarlas al cerrar el programa (o el módulo del programa)
Responder Con Cita
  #18  
Antiguo 27-11-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Smile

Cita:
Si te refieres a que si puedes modularizar en uno de estos paquetes las "reglas de negocio" de tu aplicación la respuesta es SI y como comentan algunos amigos foristas, no es necesario u obligatorio que tengas componentes visuales dentro del paquete para que funcione, si solo quieres tener una función que reciba un parametro para generar un resultado bien lo podrias hacer.
Pero como se hace esto? Necesito un ejemplo basico.

Cita:
Nuestro amigo rgstuamigo insiste mucho en que los paquetes de delphi no son como en otros lenguajes, pero quizá sería bueno que aclarase más qué es lo que esperaría. Porque, por ejemplo, en java, los paquetes, hasta donde sé, únicamente contienen clases, pues, de hecho, en java sólo hay clases, no unidades "planas".
Desde luego que en Java solo hay clases y no unidades pues cada clase se guarda en un archivo diferente es decir cada clase es un archivo con el mismo nombre de la clase y claro esta que eso es por orden; en DELPHI puedo tener mas de una clase en un solo archivo de ahi el concepto de Unidad . Entrealgunas Ventajas de trabajar como lo hace java seria:
  • Los paquetes son una forma de organizar grupos de clases. Un paquete contiene un conjunto de clases relacionadas bien por finalidad, por ámbito o por herencia.
  • Los paquetes resuelven el problema del conflicto entre los nombres de las clases. Al crecer el número de clases crece la probabilidad de designar con el mismo nombre a dos clases diferentes.
  • Las clases tienen ciertos privilegios de acceso a los miembros dato y a las funciones miembro de otras clases dentro de un mismo paquete.
Por poner un ejemplo cuando hacemos una clase en Delphi logicamente no se ve obligada a pertenecer a un paquete(en la forma como lo trabaja Delphi), en cambio en Java cuando creamos una clase esta OBLIGADAMENTE DEBE pertenecer a un paquete.Es por que el mismo entorno del lenguaje esta estructurado asi.
Lo menos que quiero es crear una polemica sobre el caso , lo bonito es que podemos discutir este asunto con diplomacia y cada uno sacar sus conclusiones y aportar para el conocimiento de todos.
Recapitulando alguna duda que aun me queda les preguntaria lo siguiente:
Ustedes que tienen mas experiencia en el desarrollo de aplicaciones en delphi,¿Como hacen para trabajar en Delphi cuando tienen que hacer su aplicacion a nivel de capas(capa de negocio, capa de datos, capa de presentacion)?,¿Como lo organizan?,¿de que forma lo trabajan?,¿Alguien ha hecho alguna ves aplicaciones a nivel de capas en Delphi, que vaya acorde con la teoria de UML 2.0?¿Se podria tambien crear sub-Paquetes en Delphi para poder organizar mejor mis clases?.
Es verdad que son varias preguntas pero necesito opiniones concretas para tomar deciciones claras en mi Sistema...
Saludos.....
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
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
Como puedo "espiar" paquetes de datos? rauros Internet 3 29-09-2008 16:54:31
Necesito llamar a métodos de clases "hija" desde su clase "padre" Flecha OOP 17 20-04-2007 00:03:53
¿existe "on delete restrict" en Firebird ? Lepe Firebird e Interbase 9 14-04-2007 01:35:06
"No existe parche para la estupidez humana" Neftali [Germán.Estévez] Noticias 4 30-06-2006 19:36:58
Error "Ya existe un componente con el nombre QRStandarPreview" Jose Manuel Impresión 5 13-06-2003 07:55:26


La franja horaria es GMT +2. Ahora son las 15:04:22.


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