Directivas de la versión del compilador de Delphi

Si planea escribir código de Delphi que debería funcionar con varias versiones del compilador de Delphi, necesita saber en qué versiones se compila su código.

Supongamos que está escribiendo su propio componente comercial personalizado. Los usuarios de su componente pueden tener diferentes versiones de Delphi que usted. Si intentan recompilar el código del componente, su código, ¡podrían estar en problemas! ¿Qué pasaría si estuviera utilizando parámetros predeterminados en sus funciones y el usuario tiene Delphi 3??

Directiva del compilador: $ IfDef

Las directivas del compilador son comentarios de sintaxis especiales que podemos usar para controlar las características del compilador Delphi. El compilador de Delphi tiene tres tipos de directivas: sdirectivas de brujas, directivas de parámetros y directivas condicionales. La compilación condicional nos permite compilar selectivamente partes de un código fuente dependiendo de las condiciones establecidas.

La directiva del compilador $ IfDef inicia una sección de compilación condicional.

La sintaxis se ve así:

 $ IfDef DefName

... 

 $ Else

... 

 $ EndIf

 

los DefName presenta el llamado símbolo condicional. Delphi define varios símbolos condicionales estándar. En el "código" anterior, si DefName está definido, el código anterior $ Else se compila.

Símbolos de la versión de Delphi

Un uso común de la directiva $ IfDef es probar la versión del compilador Delphi. La siguiente lista indica los símbolos que se deben verificar al compilar condicionalmente una versión particular del compilador Delphi:

  • SÍMBOLO - VERSIÓN DE COMPILADOR
  • VER80 - Delphi 1
  • VER90 - Delphi 2
  • VER100 - Delphi 3
  • VER120 - Delphi 4
  • VER130 - Delphi 5
  • VER140 - Delphi 6
  • VER150 - Delphi 7
  • VER160 - Delphi 8
  • VER170 - Delphi 2005
  • VER180 - Delphi 2006
  • VER180 - Delphi 2007
  • VER185 - Delphi 2007
  • VER200 - Delphi 2009
  • VER210 - Delphi 2010
  • VER220 - Delphi XE
  • VER230 - Delphi XE2
  • WIN32 - Indica que el entorno operativo es la API Win32.
  • LINUX - Indica que el entorno operativo es Linux
  • MSWINDOWS - Indica que el entorno operativo es MS Windows / li]
  • CONSOLA - Indica que una aplicación se está compilando como una aplicación de consola

Al conocer los símbolos anteriores, es posible escribir código que funcione con varias versiones de Delphi mediante el uso de directivas de compilación para compilar el código fuente apropiado para cada versión.

Nota: el símbolo VER185, por ejemplo, se usa para indicar el compilador Delphi 2007 o una versión anterior.

Usando símbolos "VER"

Es bastante habitual (y deseable) que cada nueva versión de Delphi agregue varias rutinas RTL nuevas al idioma.

Por ejemplo, la función IncludeTrailingBackslash, introducida en Delphi 5, agrega "\" al final de una cadena si aún no está allí. En el proyecto MP3 de Delphi, he usado esta función y varios lectores se han quejado de que no pueden compilar el proyecto, tienen alguna versión de Delphi anterior a Delphi 5.

Una forma de resolver este problema es crear su propia versión de esta rutina: la función AddLastBackSlash. Si el proyecto debe compilarse en Delphi 5, se llama a IncludeTrailingBackslash. Si se utilizan algunas de las versiones anteriores de Delphi, simulamos la función IncludeTrailingBackslash.

Podría verse algo así como: