2011-12-19 28 views
5

¿Hay alguna forma de decirle a un proyecto Delphi que crea una DLL que use como aplicación de host un ejecutable en el mismo directorio que el directorio de salida de la DLL que se está creando?Aplicación de host Delphi XE2 del directorio de salida

algo como esto:

DLL host app Delphi - this does not work

Una cosa es, estoy usando conjuntos de opciones con Delphi XE2, por lo que en el dproj de la DLL que estoy construyendo Ni siquiera tengo una DCC_ExeOutput directorio, no estoy seguro si eso importa.

Permitir esto podría descomponer seriamente algunos problemas que hemos encontrado al intentar migrar de VSS a SVN.

Además, ¿cómo se llama $ (thing) 's?

Respuesta

4

Las cosas $(name) son variables de entorno. He intentado configurar la aplicación host para .\$(Platform)\$(Config)\Test.exe y recibido este mensaje de error:

Could not find program, '.\%Platform%\%Config%\Test.exe'. 

Nota cómo el $(...) fue convertida en la sintaxis variable de entorno.

También probé con $(systemdrive)\Test.exe y recibió este mensaje de error:

Could not find program, 'C:\Test.exe'. 

Así que claramente variables de entorno serán sustituidos por sus valores, si los hay. Creo que es razonable concluir que el entorno utilizado para iniciar una aplicación de host claramente no define las variables de entorno específicas de Delphi.

Así que creo que la respuesta a su pregunta es que no puede usar una dirección indirecta como esta para la configuración de la aplicación host.

Por otro lado, las variables de entorno están sustituidas, por lo que quizás pueda usarlas para facilitar las cosas. En otras palabras, podría definir algunas variables de entorno propias. No tengo idea si eso puede ser útil para usted, ya que no conozco los detalles precisos de su problema.

+0

Eh, bueno, todo parece ser cierto, pero uno pensaría que podría establecer aquellos con eventos de compilación previos al enlace que ejecutaría MSBuild. De esa forma podría hacer algo como 'set outdir = .. \ debug \ final'. eso no parece querer trabajar Pude ver que había una diferencia entre las variables de entorno Delphi y las variables de entorno de Windows, simplemente no es obvio cuando se puede invocar cada una de ellas. –

+1

Mi modelo mental es que la configuración de la aplicación de host se aplica después de la compilación, de modo que todos los vars de compilación ya no se aplican. Pero eso es solo conjeturas. Y el complemento IDE que usa toolsapi puede cosechar recompensas especialmente dado que hemos demostrado que los archivos se expanden. –

Cuestiones relacionadas