2010-07-07 21 views
10

¿Es posible establecer la configuración de "Información de la versión" del código? Me gustaría establecer la numeración de la versión y el valor de la propiedad "Comentarios" sin usar el diálogo de opciones del proyecto.Configurar Delphi 7 project "Version Info" del código?

+1

Se puede elaborar en esto un poco? ¿Realmente ** quieres cambiar la versión de tu EXE después de la compilación? ¡Su aplicación puede confundirse por algunos Mallware por hacer eso! ¿O desea cambiarlo solo una vez en el momento de la compilación? ¿O tal vez inmediatamente después del tiempo de compilación? –

+0

No quiero cambiarlo después de la compilación. Solo quiero establecer los valores para la compilación en el código. – pantarhei

Respuesta

4

Yo recomiendo usar una herramienta de construcción, como FinalBuilder (que uso mucho), que puede hacer esto por usted según un esquema apropiado. Entonces sabrá que las opciones de compilación son todas las que desea, sus números se incrementan de manera adecuada y puede hacer cosas como subir al sitio FTP y mucho más. En mis scripts, el número de compilación se incluye desde EXE hasta el instalador y todo.

+0

+1, también Visual Build Pro es bueno para esto. http://www.kinook.com/VisBuildPro/ –

10

En lugar de editar el archivo RES binario que el IDE administra para usted, puede que le resulte más fácil mantener un archivo de texto RC que contiene el version-info resource. Escribir el archivo de recursos-escritura, y luego incluirlo en su proyecto con una línea como esta:

{$R resources.res resources.rc} 

Debe eliminar la línea {$R *.RES} de archivo de la RPD de su proyecto, o de lo contrario va a obtener recursos versión duplicada . No use el nombre de su proyecto como el nombre de su archivo de recursos personalizado; ese nombre está reservado por el IDE.

El archivo de recursos administrado por IDE también contiene el icono del proyecto, por lo que deberá incluirlo en su script de recursos también.

Puede editar el script de recursos a mano, o puede escribir un programa para editarlo o regenerarlo como uno de sus pasos de compilación.

El uso de un script de recursos de texto tiene el efecto secundario agregado de que es más fácil hacer un seguimiento de los cambios en el sistema de control de origen que utilice, como CVS.

+2

+1 Actualmente estamos usando la información de la versión en los archivos .bdsproj y .res, y es una pesadilla. Hace la fusión problemática. Tenemos un creador de sucursal que cambia la información de la versión y vuelve a chequear en svn, así que no hay problema, pero pagamos caro cuando intentamos fusionarnos más tarde. ¡El 99% de los cambios son los archivos .bdsproj y .res! Vamos a pasar a un enfoque .rc en su lugar. –

+3

Simplemente puede deshabilitar la inclusión de la información de la versión en las opciones del proyecto, y no obtendrá un error de recurso duplicado, mientras que puede establecer otros datos que se establecen en el archivo .res predeterminado. –

+3

Tenga en cuenta que cuando elimina el {$ * .res}, también pierde el ícono de la aplicación principal según lo establecido por las opciones del proyecto y deberá incluir uno usted mismo usando un archivo .rc. –

4

Tienes que escribir el asistente para eso. Salida IOTAProjectOptions en archivo D7IOTA.HLP, el código fuente de ToolsAPI unidad y this thread

+2

¿Por qué el voto a favor? ¡Esta respuesta realmente proporciona la respuesta más directa a la pregunta planteada! OK, resulta que el póster de la pregunta fue después de otra cosa, ¡pero esta respuesta no merece un voto negativo para eso! En todo caso, la * pregunta * debería ser. (StackOverflow quizás debería proporcionar dos clasificaciones para la pregunta: 1 para la pregunta en sí y otra para qué tan bien se formuló la pregunta/qué tan clara era/qué tan cerca de la pregunta real se necesitaba respuesta, etc.) – Deltics

+0

Probablemente, mi solución * parece * demasiado complejo :-) Sin embargo, IDE mantiene los recursos del proyecto exclusivamente o el usuario tiene que hacerlo manualmente. Esta es la única forma de integración perfecta. –