Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Proyecto en partes (https://www.clubdelphi.com/foros/showthread.php?t=43851)

jevo19100 22-05-2007 19:09:14

Proyecto en partes
 
Hola a todos. Espero que esten bien.


Tengo un proyecto con -alrededor de- 20 formas incluyendo el Datamodulo. Entonces cada vez qeu necesitan un cambio el proyecto debo compilarlo todo otra vez y enviar el ejecutable qeu pesa ya bastante.

La duda es la siguiente:

Existe alguna manera en que, cuando me pidan alguna modificacion, digase en el form1, solo tenga que recompilar este solo formulario y reemplazar solo ese, sin afectar a las demas. Asi solo enviaria un archivo de poco peso.

Alguna manera? Sea dll o algo parecido... algo recomendable.

Les agradeceria mucho cualquier sugerencia.

vtdeleon 23-05-2007 03:13:06

Saludos

Bueno, yo con dll estoy frito, pero recuerdo que se habia planteado una vez esto. Creo que es este hilo, en el mensaje 8 mas o menos un forista puso su codigo , y este otro.

La verdad no se decirte si es la mejor manera, pues no me habia planteado esa idea. Quizas otro mas te pueda dar una mejor orientacion.

Dogjorge 23-05-2007 03:25:51

perdon el atrevimiento
 
Hola mira soy nuevo tambien y acabo de encontrar tu mensage yo tengo el mismo problema con una aplicacion es ya muy grande y no se cual sea la mejor forma de partirla o particionarla tu supiste como hacerle me puedes orientar?.

Mil gracias y disculpa.

Héctor Randolph 23-05-2007 03:33:40

Puedes hacerlo con BPL's paquetes dinámicos. Son como las DLL's pero puedes guardar formularios de Delphi y recuperarlos fácilmente

Te dejo la traducción de un artículo para el uso de paquetes

http://www.clubdevelopers.com/index.php?p=54

Saludos

Dogjorge 23-05-2007 03:37:05

Gracias
 
Gracias lo voy a checar

Caral 23-05-2007 04:31:48

Hola
Se pueden hacer tantos ejecutables como se quiera y ligarlos para trabajar juntos.
Se puede hacer si se quiere un ejecutable de cada form, claro es un poco ilogico pero de que se puede, se pude.
Por ejemplo en la aplicacion que uso, tengo, cinco programas separados y se entrelazan con el datamodule, se puede llamar a uno o a otro independientemente y ni se nota el cambio de programa.
Incluso se puede hacer una dll que enlace los exe, hay muchas maneras de hacer las cosas, todo depende de lo que se quiera hacer y como, al final el cliente ni se daria cuenta de cuantos exe componen el programa completo.
Bueno, es nada mas una opinion.
Saludos

fedelphi 23-05-2007 06:33:13

Cita:

Empezado por Caral
Se pueden hacer tantos ejecutables como se quiera y ligarlos para trabajar juntos.
Se puede hacer si se quiere un ejecutable de cada form, claro es un poco ilogico pero de que se puede, se pude.

Cita:

Empezado por Caral
Por ejemplo en la aplicacion que uso, tengo, cinco programas separados y se entrelazan con el datamodule, se puede llamar a uno o a otro independientemente y ni se nota el cambio de programa.
Incluso se puede hacer una dll que enlace los exe

Me puedes decir Caral como realizo esto que mencionas? o donde puedo encontrar información?
Fede

vtdeleon 23-05-2007 07:33:26

Cita:

Empezado por Caral
Por ejemplo en la aplicacion que uso, tengo, cinco programas separados y se entrelazan con el datamodule, se puede llamar a uno o a otro independientemente y ni se nota el cambio de programa.

Caral, explicame un poco esto por favor. Eso si qeu no lo entendi:confused:

Enlazar ejecutables con un solo datamodulo para todos:eek:. Estas seguro?

Entiendo lo de llamar o ejecutar aplicaciones entre si, pero no de qeu usaran el mismo Datamodulo.

Saludos

Neftali [Germán.Estévez] 23-05-2007 09:22:33

Cita:

Empezado por jevo19100
Tengo un proyecto con -alrededor de- 20 formas incluyendo el Datamodulo. Entonces cada vez qeu necesitan un cambio el proyecto debo compilarlo todo otra vez y enviar el ejecutable qeu pesa ya bastante.

Lo que noentiendo es que un proyecto con 20 módulos digas que pese bastante. ¿De qué tamaño estamos hablando?
¿Tal vez estás incluyendo más cosas de la cuenta?

Te recomiendo que le eches un vistazo a este hilo y pruebes con tu proyecto las primeras opciones. No requieren cambio de diseño y puedes reducir bastante el tamaño.

Caral 23-05-2007 18:44:18

Hola
Hay que tener en cuenta algunas cosas:
El datamodule simplemente es como un form el que contiene los enlaces a la base de datos entre otros, si usas la misma base de datos para todos los programas simplemente usas el mismo datamodule, que ya contiene lo que necesitas, es casi como insertar una unit al nuevo programa.
Primero haces un datamodule donde creas los enlaces a la base de datos y si quieres le pones los reportes etc.
Cuando haces un programa nuevo, adhieres el datamodule al proyecto, ojo, el datamodule tiene que estar en la misma carpeta de todos los proyectos.
Tengo varios proyectos que trabajan con un mismo datamodule, en mi caso, que uso componentes ADO, lo que contiene el datamodule es esencialmente el adoconnection nada mas, el resto lo deposito en cada form, tal vez no sea una practica correcta pero me siento comodo con ella y me facilita la comprension del programa, pero se pueden colocar todos los componentes que se necesiten en el datamodule sin problemas.
Intentalo, no creo que te de ningun inconveniente.
Saludos

Caral 23-05-2007 19:36:23

Hola
Te hice un ejemplo de como enlazar programas exe.
El ejemplo consta de dos form (Hechos ejecutables o programas) que se enlazan.
A ver si te gusta, ya me contaras.
Lo subi a la direccion del club, con vuestro permiso señores moderadores.
Si hay algun problema lo podeis quitar.:)
http://www.terawiki.clubdelphi.com/
Se llama Enlazar Programas.Zip esta al final de la lista, de momento.
Saludos

vtdeleon 24-05-2007 01:45:12

Ok, entiendo a donde quieres llegar. Pero en si, el datamodulo qeu tiene cada aplicacion no guarda una relacion funcional entre si.

Atendiendo a lo que tienes, por ejemplo. Existe un table que esta inactivo y en una de las apliciones decides activarlo. Puedes comprobar que en los demas ejecutable ese table sigue inactivo.

Caral 24-05-2007 01:54:30

Hola
Lo as captado perfectamente.
El uso al que me refiero es exactamente el que estas mencionando, un unit o form mas, no es exactamente que el datamodule funcione en uno o en otro, es el uso del mismo para varios proyectos.
Logicamente si en un programa esta funcionando el datamodule y el otro no esta corriendo, pues no estaran activas las tablas del segundo esta claro.
Pero bueno, lo interesante de esto es que se crea una discusion a un procedimiento de un novato como yo, me alagas hombre.
Saludos

jevo19100 24-05-2007 01:54:58

Hola

Gracias a todos por los enlaces. Seguro que me serviran:). Por lo que veo, tengo que estudiar el enlace que me ha dado hector sobre los bpl.

Caral: Estudiare eso que dices, aunque como vtdeleon, estoy algo confundido.

Neftali: El ejecutable es grande, si hablamos de ancho de bando en internet, no LAN. Pues desearia enviar cualquier modificacion o actualizacion via correo (u otra forma), pero solo del modulo en cuestion.

El proyecto utiliza componentes de terceros, ademas de algunos graficos que quizas sea por esto tan grande. Pero asi lo quiere el cliente, con todos sus grafiquitos.

vtdeleon 24-05-2007 01:58:23

Caral, la verdad es que quien mal interpreto el asunto y vio otro punto fui yo.

Saludos

jevo19100 24-05-2007 02:45:24

Cita:

Te recomiendo que le eches un vistazo a este hilo y pruebes con tu proyecto las primeras opciones. No requieren cambio de diseño y puedes reducir bastante el tamaño.
Que hilo? Este?

Neftali [Germán.Estévez] 24-05-2007 11:00:00

Cita:

Empezado por Caral
Te hice un ejemplo de como enlazar programas exe.
Lo subi a la direccion del club:
http://www.terawiki.clubdelphi.com/

Si no te importa Caral, le he cambiado el nombre por:
[Ejemplo]-Enlazar programas.zip

Para seguir con la nomenclatura del resto de elementos.

Caral 24-05-2007 18:44:48

Hola Neftali
La verdad queria ponerle ese titulo pero se me escapo y se puso solo.
Fue culpa mia no hacerlo, aunque tuve la intencion, no supe como solucionarlo, te agradezco que lo hicieras, tratare de que no vuelva a ocurrir.
Saludos Maestro.


La franja horaria es GMT +2. Ahora son las 07:17:19.

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