Escribo muchos componentes y bibliotecas para Delphi, la mayoría de los cuales requieren el uso de BPL Packaging para que puedan instalarse en el IDE.Paquete (BPL) Sufijo de nombre automático
Esto es lo suficientemente simple y funciona bien, hasta que desee mantener un único conjunto de archivos de proyecto de paquete (en un único grupo de proyecto), pero también desee compilar y distribuir esos mismos paquetes para diferentes versiones de Delphi.
Hasta ahora he sido la creación de un proyecto de paquete diferente para cada versión de Delphi, y definiendo explícitamente un identificador de versión de Delphi como un sufijo (por ejemplo Kinect_XE.bpl y Kinect_XE2.bpl).
Soy consciente de que, en las opciones del proyecto para un proyecto de paquete, bajo Descripción, existen los campos LIB prefijo y (lo más importante para mis necesidades) LIB sufijo.
Soy consciente de que si pongo un valor en LIB sufijo, se agregará al final del nombre de archivo del BPL compilado.
Mi pregunta, sin embargo, es en primer lugar si es posible tener el IDE rellenar automáticamente el campo LIB sufijo con el IDE/RTL Versión número, y si es así ... ¿cómo?
Estoy bastante seguro de que esto es posible, ya que parecería que vcl120.bpl (y sus homólogos para cada respectiva versión de Delphi) pueden ser referenciados (como requisitos) de sus propios paquetes utilizando sólo vcl en lugar de tener que escribir el completo vcl120. De hecho, este es el mismo comportamiento que espero lograr ... donde mis paquetes pueden intrareferenciarse entre sí (como sea necesario) sin tener que proporcionar referencias específicas de la versión para acomodar los sufijos.
Igualmente importante es que resolver esto me permitirá mantener un único conjunto de archivos de proyecto en un solo grupo de proyectos (con la obvia excepción de XE2 donde sus archivos de proyecto no necesariamente se comportan muy bien con las versiones anteriores de Delphi a Plataformas Además).
sospecho que pueda necesitar para poner un valor como $ (VER) (o algo similar) en el sufijo campo LIB, pero eso no parece corresponder a trabajar y he fregado Google en busca de la correcta solución.
Espero que te ayudemos!
ACTUALIZA 1
ahora estoy escribiendo un plugin IDE para usarse con (en lo más mínimo) Delphi 2007 a XE2, lo que da DLL y BPL proyecta una nueva opción llamada AutoSuffix. Cuando se activa En, cualquier IDE con el complemento AutoSuffix instalado aplicará inmediatamente el sufijo de versión IDE correcto al proyecto.
El complemento AutoSuffix estará disponible (libremente) para todos en las próximas 24 horas, y esta pregunta se actualizó en consecuencia.
ACTUALIZACIÓN 2
bien ... Delphi 2007 está siendo un dolor! He hecho que AutoSuffix funcione con 2009 a XE2, hasta ahora, pero 2007 requiere un poco más de tiempo (se agradece la paciencia).
ACTUALIZACIÓN 3
Parecería como si Embarcadero haber escuchado nuestra voz colectiva para la unificación paquete más simple entre las versiones.
Mark va a presionar esto para ver si las versiones futuras de Delphi pueden acomodar una característica {$ LIBSUFFIX AUTO}. Espero volver a escuchar muy pronto si este será el caso. Si es así, ciertamente afecta la forma en que AutoSuffix deberá funcionar en XE2 y versiones anteriores (ya que actualmente no proporciona el sencillo interruptor AUTO ... tiene su propio método).
Mi esperanza ahora es que EMB tomará en serio esta petición, proporcionar como una característica integral en el futuro, por lo que se convierte en un simple caso de utilizar AutoSuffix en las versiones existentes para unificar el proceso al otro lado de todas las versiones!
No es la versión del compilador, sino más bien una versión IDE/RTL. – OnTheFly
Correcto ... ¡editado en consecuencia! ¡Un error tonto de mi parte! – LaKraven
Aparece ** O no hay ningún informe n. ° 83229, o no está autorizado para ver ese informe. ** cuando intento acceder a él (inicie sesión) – LaKraven