Directives conditionnelles (langage)

De Wiki1000
(Différences entre les versions)
Ligne 1 : Ligne 1 :
{{latest}}
+
{{Version710}}
  
 
La directive de compilation conditionnelle "define" permet de définir une condition de compilation.
 
La directive de compilation conditionnelle "define" permet de définir une condition de compilation.
Ligne 61 : Ligne 61 :
 
: Termine le bloc conditionnel
 
: Termine le bloc conditionnel
  
[[Category:latest]]
+
[[Category:Version710]]
 
[[Category:Langage]]
 
[[Category:Langage]]
 
[[Category:Directives]]
 
[[Category:Directives]]

Version du 20 mai 2016 à 08:33

version710-32x32.png

La directive de compilation conditionnelle "define" permet de définir une condition de compilation.

Définir une directive conditionnelle

Les directives de compilation conditionnelle peuvent être défini :

  • Localement au niveau d'une procédure
Une directive définie localement à une portée réduite au corps de la procédure.
  • Globalement au niveau du concepteur
Une directive définie au niveau du concepteur à une portée globale dans l'ensemble du code.

Pour définir une directive locale utilisez le mot clé {$DEFINE xx} :

procedure foo();
{$DEFINE FIX_1}
begin
  {$IFDEF FIX_1}
  // compiled if FIX_1 is defined
  {$ELSE}
  // compiled if FIX_1 is not defined
  {$ENDIF}
end;

Pour définir une directive de compilation globale ne l'a définissez pas au niveau du corps de la procédure :

procedure foo();
begin
  {$IFDEF FIX_1}
  // compiled if FIX_1 is defined
  {$ELSE}
  // compiled if FIX_1 is not defined
  {$ENDIF}
end;

Les directives définies globalement apparaissent dans le dialogue de préférence du concepteur :

Designer pref defines.png

Vous pouvez activer ou désactiver une directive dans ce dialogue.

Notez que :

  • Les directives globales sont identifiées au moment de la compilation
  • Lorsque vous activez / désactivez une directive les procédures impactées sont recompilées.

Lorsque la directive n'apparait pas dans ce dialogue cela signifie que le code la comportant n'a pas encore été compilé. Vous pouvez soit créer explicitement la directive (fonction click droit "Ajouter") soit compiler le code correspondant.

Utilisation des directives conditionnelles

Les directives conditionnelles s'utilisent avec :

  • {$IFDEF xx}
Bloc compilé si la directive est définie
  • {$ELSE}
Bloc compilé si la directive n'est pas définie
  • {$ENDIF}
Termine le bloc conditionnel
Outils personnels