Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   compartir units en varios proyectos (https://www.clubdelphi.com/foros/showthread.php?t=86917)

engranaje 23-10-2014 10:50:19

compartir units en varios proyectos
 
A partir del hilo http://www.clubdelphi.com/foros/showthread.php?t=86915 me ha parecido que estaría bien comentar cual según vuestro punto de vista el mejor modo de compartir units entre varios proyectos.

Con el tiempo supongo que a todos os pasará que hay cierto tipos de formularios (busqueda, consulta, selección...) y units con funciones utiles que utilizais dentro de un único proyecto en muchos sitios y a las que acabias recurriendo cuando toca empezar un nuevo proyecto. ¿Como gestionais esas bibiliotecas de funciones y forms en delphi?. He de confesar que sobre todo utilizo versiones de delphi anteriores a .net y es posible que ahora con los XE haya opciones que desconozco.

Yo suelo organizar todas esas units en carpetas al mismo nivel que los proyectos, lo mas ordenadamente que puedo, y cuando un proyecto las necesita las añado al uses del dpr ruta al dpr de este modo:
Código Delphi [-]
   UnitFuncionesNivelPemisos    in '..\FuncionesPerfiles\UnitFuncionesNivelPermisos.pas',

El problema mas grande con el que me encuentro al hacer esto son las referencias de estas units de mis librerias a otras también en las librerias. Es decir si en u_funcionesNivelPermisos estoy utilizando funciones definidas en otra unit UnitFuncionesConsultaBD debo de añadir al dpr también:
Código Delphi [-]
   UnitFuncionesConsultaBD   in '..\FuncionesBD\UnitFuncionesConsultaBD.pas',

Entiendo que añadiendo en searchpath del proyecto o en el librarypath del delphi esa ruta no me vería obligado a estar añadiendo al proyecto cada unit que se esté utilizando, sin emabargo por otra parte me parece que de este modo tengo todo un poco mas controlado. ¿Vosotros como lo haceis? ¿Cual os parece el mejor método?

AgustinOrtu 23-10-2014 12:35:53

Yo lo organizo masomenos asi:

Directorio raiz del Proyecto, suele llevar el nombre del sistema o el del cliente. Dentro de este directorio los siguientes sub-directorios:
/SQL --> Si el programa usa alguna BD, aca irian todos los archivos .sql para crear la base, y los updates de la misma
/Logica --> Aca suelo ir creando subdirectorios con las unit de las propias clases que manejan los datos del negocio
/Acceso Datos --> Contiene clases que yo llamo "PersistidorX". PersistidorClientes, PersistidorProductos, etc. Son las encargadas de llevar y traer datos
/Aplicacion Cliente --> Directorio raiz de la aplicacion VCL, la vista vamos. Aca adentro voy creando una carpeta para cada sub conjunto de funciones del sistema. Por ej, \Proveedores, y aca adentro estan todos los form de gestion de proveedores
/Iconos --> Archivos .bmp que utilizo en el proyecto


Basicamente sigo el modeo MVC para estructurar los directorios

Luego no suelo referenciar desde un proyecto hacia afuera de este, si es necesaria una unit que esta en otro proyecto prefiero copiarla y referenciarla, no vaya a ser que tenga que realizar una modificacion y por despistado se me olvide que puede repercutir en otro lado

Saludos!

engranaje 23-10-2014 13:53:11

Cita:

si es necesaria una unit que esta en otro proyecto prefiero copiarla y referenciarla, no vaya a ser que tenga que realizar una modificacion y por despistado se me olvide que puede repercutir en otro lado
Hay mas gente que me ha dicho eso pero yo soy contario a tener 8 formularios de busqueda prácticamente iguales en 8 proyectos distintos y cuando mejoro o corrijo algo tenerlo que hacer en los 8. Prefiero tener solo uno (incluso con 8 creates sobrecargados si realmente no me bastara con uno solo bien parametrizado) Mi pregunta va mas bien sobre como organizarse en ese caso. Si he entendido bien tu propuesta, eres reacio a que un mismo form sea compartido por varios proyectos para protegerse asi de posibles despistes aún a pesar de que eso signifique tener dos copias exactas del mismo form en 2 proyectos distintos.

ecfisa 23-10-2014 18:06:57

Hola engranaje.

Tal vez ya lo hayas leido, pero recordé que en La cara oculta de Delphi 4, se hace un tratamiento muy ilustrativo sobre los pros y contras de la aplicación de la herencia visual .

Revisé por arriba y lo trata en las páginas 36, 283 y 611 (se me puede escapar alguna mas).

Saludos :)


La franja horaria es GMT +2. Ahora son las 18:14:23.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi