Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
prog:lazarus:compilateur:directives:modesswitch [16/04/2021 10:29]
thierry créée
prog:lazarus:compilateur:directives:modesswitch [16/04/2021 10:39] (Version actuelle)
thierry [$MODESSWITCH]
Ligne 1: Ligne 1:
 ====== $MODESSWITCH ====== ====== $MODESSWITCH ======
 +La directive de compilation ''​{$MODESWITCH }''​ permet d'​activer ou de désactiver les fonctionnalités du mode individuel sans modifier le mode de compilation actuel.
 +
 +Ce commutateur est un commutateur global, et peut être utilisé partout où le commutateur [[https://​www.freepascal.org/​docs-html/​3.2.0/​prog/​progsu105.html#​x113-1140001.3.21|{$MODE}]] peut être utilisé.
 +
 +La syntaxe est la suivante :
 +<code delphi>
 +{$MODESWITCH XXX} // Active
 +{$MODESWITCH XXX+}  // identique à  {$MODESWITCH XXX}
 +{$MODESWITCH XXX-}  // Désactive
 +</​code>​
 +
 +La fonction XXX peut être l'une des suivantes :
 +
 +== CLASSE ==
 +Utilisez les classes pascal object.
 +
 +== OBJPAS ==
 +Inclure automatiquement l'​unité ObjPas.
 +
 +== RESULT ==
 +Activez l'​identificateur de ''​result''​ pour les résultats des fonctions.
 +
 +== PCHARTOSTRING ==
 +
 +Permettre la conversion automatique des chaînes de caractères à terminaison nulle en chaînes de caractères,​
 +== CVAR ==
 +
 +Autoriser l'​utilisation du mot-clé CVAR.
 +== NESTEDCOMMENTS ==
 +
 +Permettre l'​utilisation de commentaires imbriqués.
 +== CLASSICPROCVARS ==
 +
 +Utiliser les variables procédurales classiques.
 +== MACPROCVARS ==
 +
 +Utiliser des variables procédurales de type mac.
 +== REPEATFORWARD ==
 +
 +La déclaration de mise en œuvre et la déclaration de transmission doivent correspondre complètement.
 +== POINTERTOPROCVAR ==
 +
 +Permettre la conversion silencieuse des pointeurs en variables procédurales.
 +== AUTODEREF ==
 +
 +Déréférencement automatique (silencieux) des pointeurs dactylographiés.
 +== INITFINAL ==
 +
 +Permettre l'​utilisation de l'​initialisation et de la finalisation
 +== ANSISTRINGS ==
 +
 +Autoriser l'​utilisation des ansistrings.
 +== OUT ==
 +
 +Permet d'​utiliser le type de paramètre out.
 +== DEFAULTPARAMETERS ==
 +
 +Permettre l'​utilisation de valeurs de paramètres par défaut.
 +== HINTDIRECTIVE ==
 +
 +Soutenir les directives d'​indication (déprédation,​ plate-forme,​ etc.)
 +== DUPLICATELOCALS ==
 +
 +Permettre aux variables locales des méthodes de classe d'​avoir les mêmes noms que les propriétés de la classe.
 +== PROPERTIES ==
 +
 +Autoriser l'​utilisation des biens.
 +== ALLOWINLINE ==
 +
 +Autoriser les procédures en ligne.
 +== EXCEPTIONS ==
 +
 +Permettre le recours à des exceptions.
 +== ADVANCEDRECORDS ==
 +
 +permettre l'​utilisation d'​enregistrements avancés (c'​est-à-dire des enregistrements avec des méthodes)
 +
 +Exemple:
 +<code delphi>
 +  { Exemple d'​advanced Records }
 +  TQRange = packed record
 +  private
 +    FLeft: QWord;
 +    FRight: QWord;
 +    procedure SetLeft(AValue:​ QWord);
 +    procedure SetRight(AValue:​ QWord);
 +  public
 +    property Left: QWord read FLeft write SetLeft;
 +    property Right: QWord read FRight write SetRight;
 +    class operator in (const AValue: QWord;const ARange: TQRange): boolean;
 +  end;
 +
 +</​code>​
 +== UNICODESTRINGS ==
 +
 +est par défaut une chaîne unicode.
 +== TYPEHELPERS ==
 +
 +Autoriser l'​utilisation d'​aides à la saisie.
 +== CBLOCKS ==
 +
 +Blocs de style C.
 +== ISOIO ==
 +
 +entrée/​sortie comme requis par l'ISO pascal.
 +== ISOPROGRAMPARAS ==
 +
 +Paramètres de programme tels que requis par l'ISO pascal.
 +== ISOMOD ==
 +
 +mod comme requis par l'ISO pascal.
 +== ISOUNARYMINUS ==
 +
 +Unary moins comme requis par l'ISO pascal.
 +
 +====== Sources & Ressources ======
 +  * [[https://​wiki.lazarus.freepascal.org/​modeswitch]]
 +  * [[https://​www.freepascal.org/​docs-html/​3.2.0/​prog/​progsu106.html#​x114-1150001.3.22]]
 +