2011-11-08 10 views
11

Estoy migrando proyectos de XE a XE2 y he notado que me falta la información de la versión ingresada manualmente como nombre de la compañía, versión del producto, etc. Creación de formularios VCL vacíos simples Veo que los datos ingresados ​​para la información de la versión en "Todas las configuraciones - Todas las plataformas" desaparecen cuando luego selecciona, por ejemplo, "Configuración de la versión - Plataforma de 32 bits de Windows". Supongo que puedo pasar por las plataformas volviendo a ingresar mi información, pero ¿qué está pasando aquí? Uno esperaría que la información 'Todas las configuraciones: todas las plataformas' se propagara en todas las plataformas a menos que se sobreescriba, al igual que las opciones del compilador, etc., o ¿me falta algo?Cómo administrar la información de la versión en Delphi XE2 en plataformas

Nota adicional - A medida que investigo más, veo que hay un trabajo en torno al uso de DDevExtensions que agrega una opción de menú en 'Proyecto'. Si marca las casillas en la parte inferior 'Aplicar a seleccionado' y 'Aplicar VersionInfo a todas las plataformas', entonces puede obtener la información de versión mostrada copiada en todas las plataformas sin afectar los otros proyectos en su grupo.

+3

Gestionar estos ajustes en el IDE es simplemente una pesadilla. Lo hago con un script de precompilación. También podría considerar conjuntos de opciones, ya que ayudan a controlar la extrema complejidad de las configuraciones de opciones del proyecto. –

+0

FWIW Posteriormente, descubrí que esta pesadilla DPROJ hace que la depuración remota no funcione para mí. La solución es eliminar el DPROJ y abrir el DPR, continuar y completar nuevamente los detalles del proyecto. Entonces, la depuración remota funciona. –

Respuesta

2

Parece ser un error en XE2 que hace que la información de la versión no se propague desde niveles más altos a niveles más bajos. El control de calidad que abrí sobre este tema (99428) se cerró el 7 de noviembre y se marcó como "resuelto en la compilación 16.0.4256.43595".

Para uso de producción (cuando cambiamos a XE2), usaré FinalBuilder para obtener la información de la versión correcta, pero espero la corrección, con suerte en el próximo mes, para que las compilaciones IDE coincidan con versiones reales de FB. Pero mientras tanto intentaré su sugerencia de usar el paquete de arreglos ...

+0

Información útil, gracias. –

+0

Estoy usando la versión 16.0.4504.48759 y el problema no está solucionado :-(. – truthseeker

2

Creo que hay un "error" en el material de información de la versión en el que se colocan varias configuraciones de versión en el archivo .djproj en la carpeta del proyecto .

Parece que está bien si cambia el Objetivo a TODAS las configuraciones la primera vez que lo abre en Delphi XE2. Luego, una vez que se haya cargado, despliegue el destino y haga clic solo en las entradas en negrita para copiar la información de la versión. Si hace clic accidentalmente en una entrada que no está en negrita, el texto se establece en el valor predeterminado y se convierte en permanente en el archivo .dsproj.

He solucionado esto haciendo lo siguiente: , necesitará modificar los detalles según sea necesario Le sugiero que mire primero el archivo; por lo general, es obvio lo que está sucediendo.

1) Copiar el proyecto .dsproj archivo continuación, abra el archivo de proyectos .dsproj en libreta

2) localizar la primera ocurrencia de la misma será de alrededor de la línea 40.

3) Copiar y pegar este poco más arriba.

<PropertyGroup Condition="'$(Base)'!=''"> 
              <DCC_ExeOutput>**c:\xxx**</DCC_ExeOutput> 
              <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo> 
              <VerInfo_Locale>2057</VerInfo_Locale> 
              <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File> 
              <VerInfo_AutoGenVersion>true</VerInfo_AutoGenVersion> 
              <VerInfo_MinorVer>12</VerInfo_MinorVer> 
              <Icon_MainIcon>**My_Icon.ico**</Icon_MainIcon> 
              <VerInfo_Release>1</VerInfo_Release> 
              <VerInfo_MajorVer>5</VerInfo_MajorVer><DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;Data.Win;System.Win;Bde;$(DCC_Namespace)</DCC_Namespace> 
<VerInfo_Keys>CompanyName=xxxxxxx; 
FileDescription=**xxxxxxxx**; 
FileVersion=5.12.1.0; 
InternalName=; 
LegalCopyright=2012 xxxxxx Services;LegalTrademarks=**xxxx**; 
OriginalFilename=; 
ProductName=**xxxx**; 
ProductVersion=5.0; 
Comments=</VerInfo_Keys> 
</PropertyGroup> 

4) Vuelva a colocar la protagonizó entradas con la información de más abajo en el archivo- si no puede encontrar el icono que tendrá que añadir de nuevo aunque he encontrado que en la mayoría de mis proyectos es en la carpeta como Ico separada

5) a continuación, puede eliminar todas las otras entradas de grupo propiedad original hasta en:

      <ProjectExtensions> 
              <Borland.Personality>Delphi.Personality.12</Borland.Personality> 
              <Borland.ProjectType/> 
              <BorlandProject> 
+0

¿por qué EMB no lo está arreglando ?! Estoy en XE3 y aún tengo el problema. – FLICKER

1

"el control de calidad abrí sobre esta cuestión (99428) se cerró el 7 de noviembre y marke d como "resuelto en la compilación 16.0.4256.43595".

Alas esto no se ha solucionado a partir de la última versión 16.0.4358.45540

Si migra un proyecto de una versión anterior de Delphi, creará recursos de versión en el nivel 'Todas las configuraciones' que contiene la copia de la configuración anterior. Esto es bueno.

Se procederá a ignorarlo por completo - esto es realmente muy malo. No notamos hasta bastante tarde en las pruebas que todos nuestros archivos ejecutables se estaban construyendo sin información de derechos de autor y marcas comerciales; simplemente se ignoraba.

La única solución es editar manualmente todos los archivos dproj como se indicó anteriormente. Realmente necesita alguien para escribir una herramienta para arreglar esto ... es bastante mecánico & Ojalá tuviera el tiempo.

FinalBuilder suena bien, pero $ 3.5k para una licencia en la parte superior de los $ 2k por desarrollador para XE2 daría a nuestro contador de un ataque al corazón ...

+0

Sí, estoy de acuerdo. Tengo que volver a crear mis archivos DPROJ Realmente, porque en otra larga sesión de depuración descubrí que los DPROJ que han pasado por varios IDE no depurarán remotamente. –

8

Esto sigue siendo un problema en la construcción # 16.0.4429.46931. Sin embargo, descubrí que puedo eliminar el problema abriendo el archivo "dproj" del proyecto y borrando todos los < elementos VerInfo_Keys > excepto para el grupo de propiedades base (< PropertyGroup Condition = "'$ (Base)'! = ' '">). Al hacer esto, se puede heredar la información de la versión "Todas las configuraciones: todas las plataformas" para las diferentes configuraciones y configuraciones de plataformas sin necesidad de duplicar.

0

He creado una aplicación, que eliminará la información de la versión de configuración de compilación infantil después de la conversión ... Cuando abro un proyecto antiguo, lo cierro y ejecuto la herramienta. Esto asegurará que la información de la versión se herede correctamente (la Actualización 4 no resuelve esto).

+2

Interesante. ¿Puede esto estar disponible por favor? –

+1

Conector desvergonzado para observaciones y una herramienta propia: http: // delphi -divining.blogspot.co.uk/ –

Cuestiones relacionadas