En cualquier entorno para desarrollar, muchas ocasiones nos enfrentamos a un problema muy común entre los desarrolladores, y es el de las rutas de los archivos, tanto si desarrollas para php, Java, .NET, VFP, etc… esto en ocasiones se puede volver un completo fastidió.
¿Por qué?, si creaste alguna clase de negocios o alguna para validación de campos y la quieres usar, normalmente la incluyes directamente en tu manejador de proyectos, y con esto ya la tienes, por ejemplo: la creaste para el proyecto X, pero tiempo después la incluyes en el proyecto Y, Z y W pero solo la mandas llamar de la carpeta del proyecto X.
Esto se vuelve un problema esencial cuando cambias simplemente la carpeta X o tu entorno no se encarga de buscar los archivos automáticamente y te los pide con rutas estíticas y no relativas.
Pues bien, para Visual FoxPro tenemos el Environment Manager, el cual nosotros configuramos y el se encarga de buscar los archivos que necesitemos siempre, además de que podemos desarrollar Formularios, Clases, Funciones o Reportes individuales que luego podamos agregar al proyecto entero con solo dar un click y cargar todos los datos necesarios para que funcione bien luego con el sistema.
¿Ya te confundí? jaja no te preocupes, vamos a explicarlo un poco más sencillo:
En cualquiera de los lenguajes que tu programes siempre tienes un árbol de directorios, esto es la forma en que acomodas la información para que sea más accesible y organizada, yo por ejemplo manejo la siguiente dentro de la carpeta del proyecto en curso:
- Clases : Aquí se guardan todas las clases tanto vcx como prg
- Datos : Aquí se guardan todas las BD nativas de fox que requiera, usualmente solo datos para conexión con el DBMS
- Formas : Los formularios
- Imagenes
- Menus
- Programas : Estos vienen a ser como los módulos generales de VB, aquí creo funciones, librerías y demás cosas que no entren en las demás categorías.
- Reportes : Normalmente esta se creaba para poder entregarla junto con el ejecutable ya que en VFP7 no se incluían dentro del EXE sino que se mandaban llamar.
Obviamente cada desarrollador tiene diferentes formas de organizar, cada uno es diferente en este aspecto, a algunos les es más fácil renombrar todo y por medio del teclado encontrar cada cosa, a otros incluso crean sub-arboles en cada carpeta, en fin muchas posibilidades se pueden dar.
Para acceder al Environment Manager (cabe destacar que esta disponible desde VFP8 en adelante) hay que ir al siguiente menu :
Herramientas > Panel de tareas
El cual nos abre una ventana y ahí seleccionaremos el Environment Manager, el cual nos mostrará una imagen como la siguiente :
Obviamente si nunca lo haz usado este debe estar en blanco y solo aparecer la opción de Manage Environments, que es a donde debemos dirigirnos, esto nos abrirá una ventana como la siguiente (click para ampliar) :
A la izquierda nos muestra los Environment’s que tengamos ya agregados y a la derecha las opciones para personalizarlos, no explicaré todas solo algunas básicas, en sí 2 que son las que nos interesan para este caso en especifico : Default Directory y Associated Projects.
En la pestaña de Default Directory se trata de agregar el nombre de las carpetas que contendra el proyecto, esto lo que hace es decirle a FoxPro que busque los archivos del proyecto tambien dentro de esas carpetas.
El ultimo Associated Projects lo que hace es enlazar el archivo del proyecto a la configuracion que acabamos de crear.
PD: Este post lo tenia desde hace un buen rato, actualmente no estoy trabajando en FoxPro pero me se me hace interesante por eso lo publico, ojala le ayude a alguien.



Por eso es bueno usar VS.Net
… ya que desde Visual Studio cuando uno quiere agregar una clase de X capa (vista,negocio,datos,etc…), el IDE te hace una copia del archivo y la incluye dentro del repositorio de archivos de tu proyecto asi no haces “referencia a” si no que simplemente te copia el archivo y te libras de ese tipo de problema pudiendolo usar desde arhcivos de clases modulos hasta formulario o lo que uno quiera… SALUDOS !!!!
Gracias por publicar esta informacion. Me fue de mucha utilidad.
@Jose: Que bueno que te ayudo
saludos.