2010-02-16 13 views
6

Me gustaría saber si hay alguna manera de hacer automáticamente que el IDE/compilador/otro copie todo el recurso que necesita vincularse con la DCU a la carpeta de salida DCU.Cómo copiar recursos automáticamente a la carpeta de salida DCU

A menudo uso formularios que I precompila para evitar la necesidad de recompilar la unidad todo el tiempo en mis proyectos principales. La DCU se actualiza, pero debemos copiar el DFM de forma manual cada vez que cambie. Lo mismo ocurre con cualquier {$ R * .res} especificado. Tal vez podríamos mantener los archivos directamente en la carpeta DCU ... pero no acaba de tener sentido para tener un .dfm en una carpeta diferente de un .pas

Busqué un modificador de compilador que lo haría ... Sin éxito.

¿Alguien sabe si/cómo se puede lograr?

estoy usando Delphi 2010

Respuesta

5

Se puede crear un simple mensaje en Generar evento que realizó la copia. De esta forma, cada vez que construyes, el sistema copiará los archivos necesarios por ti. Los eventos de compilación están disponibles en el menú Opciones de proyecto, hay una secuencia de comandos Preconstrucción y Postcompilación.

+0

Bueno, si tiene una versión basada en MSBUILD (D2007 +?) Que es. –

+0

No he jugado aún con esos eventos. Lo pensé, pero estoy en lo cierto al suponer que por cada {$ R MyFile.res} tendré que agregarlo manualmente al script ... o ¿hay alguna forma de que pueda enumerar todos los archivos $ R en el script? –

+0

Puede crear fácilmente un archivo por lotes al que llame que copie '* .RES' desde sus directorios de origen a sus directorios de destino, y luego llame al archivo por lotes desde el evento. – skamradt

3

Para * .res archivos que puede especificar la ruta de salida en "Opciones de proyecto | compilador de recursos | Directorios y condicionales | directorio de salida para los archivos .res"

Pero para * archivos DFM usted tiene que utilizar la sugerencia de skamradt (Evento Post Build).

+1

Esa opción no parece funcionar. Supongo que solo funciona con * .res creados por Delphi y no aquellos vinculados en la fuente. Estoy usando un archivo * .res creado por una aplicación de un tercero para hacer recursos de mapa de bits para mi aplicación y no se copian en ese directorio en la compilación. –

Cuestiones relacionadas