Esta pregunta es similar a this one, pero no es un duplicado porque estoy preguntando por problemas no discutidos en esa pregunta.En Delphi, ¿debo agregar unidades compartidas a mis proyectos, a un paquete compartido, o ninguno de los dos?
Tengo un proyecto cliente-servidor en Delphi 7 con la siguiente estructura de directorios:
\MyApp
\MyClientApp
\MyServerApp
\lib
Hay 2 proyectos reales Delphi (.dpr), uno en las carpetas MyClientApp y MyServerApp.
La carpeta lib tiene unidades .pas que tienen un código común para las aplicaciones de cliente y servidor. Lo que me pregunto es si debería incluir esos archivos .pas en los proyectos de cliente y servidor. ¿O debería crear un paquete en la carpeta lib que incluye esas unidades? ¿O debería dejar los archivos .pas en la carpeta lib y no agregarlos a ninguna aplicación/paquete?
¿Cuáles son los pros/contras de cada enfoque? ¿Qué camino es el "mejor"? ¿Hay algún problema al incluir esas unidades de la carpeta lib en más de un proyecto?
En este momento las unidades en la carpeta lib no son parte de ninguna aplicación/paquete. Una desventaja de esto es que cuando tengo mi aplicación cliente abierta en Delphi, por ejemplo, y quiero buscar algo en todos los archivos del proyecto, tampoco busca en las unidades de la carpeta lib. Entiendo esto abriendo esas unidades y haciendo un hallazgo en todos los archivos abiertos, o usando grep search (pero preferiría una mejor solución).
También preferiría una solución donde no tenga que abrir un paquete separado y volver a compilarlo cuando realice cambios en esos archivos en la carpeta lib (¿es aquí donde debería usar un grupo de proyectos?).
Bonito artículo; ¡Gracias! – onnodb