2009-05-01 11 views
28

En Delphi, puedo incluir el código fuente de una carpeta agregándolo a la Ruta de búsqueda del proyecto o añadiéndolo a la Ruta de la biblioteca. La ruta de búsqueda se aplica solo al proyecto actual, mientras que la ruta de la biblioteca se aplica a cualquier proyecto abierto con el IDE.Delphi Ruta de búsqueda vs Biblioteca Ruta vs Ruta de exploración

Aparte de eso, ¿hay alguna diferencia funcional entre las rutas de Búsqueda y Biblioteca?

Mi razón para preguntar: Tengo una carpeta X con fuente utilizada por el proyecto A. Cuando incluyo esa carpeta en la ruta de búsqueda del Proyecto A, dice que no puede encontrar un archivo específico en esa carpeta. Cuando lo incluyo en la ruta de la Biblioteca, el proyecto A compila bien.

Hasta ahora, siempre tuve la impresión de que la única diferencia era que una era específica para un proyecto, y la otra era global.

Mientras estamos en el tema (y a riesgo de hacer el ridículo): ¿Cuál es la diferencia funcional entre "ruta de la biblioteca" y "ruta de navegación"?

+1

"y a riesgo de hacer el ridículo" - Los tontos son esos monos que escribieron el manual. Todo el mundo está confundido acerca de los caminos en Delphi. – Ampere

Respuesta

27

Por lo que yo sé, la ruta de exploración es donde el depurador debe buscar los archivos al romper/entrar en los archivos fuente que no están en la ruta de la biblioteca.

Digamos que tiene un componente de terceros que utiliza. Señala la ruta de acceso de la biblioteca al directorio donde están los archivos dcu precompilados de ese componente. Su proyecto usará estos archivos dcu cuando compile. Esto es bueno, porque no se volverá a compilar cada vez que hagas una compilación.

Pero al incluir los archivos dcu compilados, pierde la posibilidad de depurar el componente thirparty. Si incluye la ruta de acceso a los archivos de origen en la ruta de exploración, el depurador encontrará la fuente y le permitirá entrar en ella.

La configuración predeterminada para el vcl lo muestra. En la ruta de la biblioteca han puesto $ (BSD) \ Lib, y en la ruta de exploración han puesto $ (BDS) \ SOURCE \ WIN32 ...

Actualización: Hay dos tipos diferentes de rutas de búsqueda: ruta de búsqueda del compilador y la ruta de búsqueda del depurador. La primera es que el compilador busca los archivos durante la compilación, y el segundo es cuando el depurador busca los archivos fuente durante la depuración.

El compilador solo encontrará los archivos en la ruta de la Biblioteca o en la ruta de búsqueda de proyectos. El depurador encontrará identificadores en la ruta de búsqueda de compiladores más la ruta de exploración, la ruta de origen de depuración para el proyecto y la ruta de búsqueda de depuración global.

No debería haber ninguna diferencia al especificar cosas globalmente o pr proyecto.

+0

Eso fue mi entendimiento también, y eso tiene sentido. Pero eso significa que, como cuestión práctica, los 3 son lo mismo ... es solo una cuestión de organización. Eso no coincide con mi experiencia con este problema. – JosephStyons

+1

No, no es lo mismo. Si incluye su ruta en solo la ruta de acceso, quiere compilar. – Vegar

1

El depurador también encontrará los archivos en la ruta de la biblioteca.

Cuestiones relacionadas