PDA

Ver la Versión Completa : Un proyecto delphi y los fuentes en varias carpetas.


Sergio J.
25-09-2012, 20:04:39
Sí, es exactamente el nombre del hilo.
Hola a todos,
tengo un proyecto delphi (D6) completo y los fuentes están almacenados en una carpeta, supongo que es lo habitual.

Sin embargo, quiero separar la aplicación en módulos y hacer otros proyectos con módulos ya desarrollados en este proyecto y desarrollar otros nuevos en otra carpeta, con la idea de que si tengo que modificar un módulo, común a ambos proyectos, se modifique en ambos el resultado y que cada uno tenga sus módulos propios en carpetas separadas.

La idea es bien sencilla, pero aunque en las opciones del proyecto he añadido las carpetas en Search path... para que al compilar busque en dichas carpetas, se queja porque no encuentra los .pas que están en la otra carpeta. He probado a añadir en el archivo .dpr la ruta completa de cada archivo .pas en donde se encuentra pero no sé si se puede hacer de otra forma.

Gracias por anticipado.

TiammatMX
25-09-2012, 20:09:05
Sí, es exactamente el nombre del hilo.
Hola a todos,
tengo un proyecto delphi (D6) completo y los fuentes están almacenados en una carpeta...

Lo que yo hago (y gracias a muchos años de topes y pérdidas de código) es hacer una carpeta "Mis Proyectos" (o algo así) y una carpeta por proyecto nuevo. Las formas, unidades y código comunes los pongo "a nivel raíz" de la carpeta "madre" y solamente añado al proyecto nuevo lo que necesito.

Podría servirte...:p

javier7ar
25-09-2012, 22:28:44
como bien dijiste podes cambiar la ruta en el .dpr (Menu Project -> View Source)
ahi podes poner la ruta relativa, y con ".." podes acceder al directorio anterior.
Por ejemplo, supongamos que tienes la siguiente estructura de directorios

MiProyecto (dir)
UnitFuncionesBasicas.pas
Modulo1 (dir)
Modulo1.dpr
UnitFuncionesRaras.pas
...
Modulo2 (dir)
Modulo2.dpr
Unit2.pas
...

y suponemos que desde Modulo2.dpr quieres agregar UnitFuncionesRaras.pas y UnitFuncionesBasicas.pas, entonces en el uses de Modulo2.dpr te quedaria asi:

UnitFuncionesBasicas in '..\UnitFuncionesBasicas.pas'
UnitFuncionesRaras in '..\Modulo1\UnitFuncionesRaras.pas'


Espero que se entienda
Saludos

Sergio J.
23-11-2012, 13:59:17
Gracias a los dos foreros javier7ar y tiammat. Las dos soluciones son similares. Yo empecé a hacer la que explica javier7ar y así lo haré, aunque tengo que tener especial cuidado con las diferentes fichas, ya que el proyecto principal posee al menos unas 250.

Gracias.

mamcx
23-11-2012, 15:49:01
Muchas de esos problemas son solucionables o tiene mas facilidad de administración si usas un control de versiones (CVS). Administrar código manualmente y a punta de carpetas es un dolor de cabezas. Usar un CVS es el paso #1 para tener un proyecto de calidad, repetible, confiable, agil, automatizable, etc. Es la columna vertebral sobre la que descansa la mayoria de las mejores practicas de desarrollo.

Te recomiendo ampliamente Mercurial(HG) (http://tortoisehg.bitbucket.org/). Un tutorial http://hginit.com/.

* La mejor alternativa es GIT. NO uses Subversion - a menos que sepas porque- ni mucho menos CVS. Si es tu primer contacto, HG y GIT son la apuesta segura.

Como se resuelve con HG? Usando Branch (http://mercurial.selenic.com/wiki/Branch), combinado con links simbolicos (que tan bien funcionan en windows) es posible administrar con facilidad decenas de proyectos, subproyectos y demas.

En este momento manejo como 30 repositorios de código, de los cuales hay 3 proyectos de relativa complejidad con entre 3-5 repos por proyecto.

Con HG, no hay forma de perder código fuente - Hostea gratis tu codigo con https://bitbucket.org/-, vas a tener la historia completa de todos los cambios, nunca vas a dudar que cambiaste, cuando, quien, y (si usas comentarios correctos al hacer commit) porque.

En serio, quien no usa un CVS es un masoquista extremo ;).

Casimiro Notevi
23-11-2012, 16:59:15
En serio, quien no usa un CVS es un masoquista extremo ;).
Realmente hay mucha diferencia.