Ceci est une ancienne révision du document !


$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 {$MODE} peut être utilisé.

La syntaxe est la suivante :

{$MODESWITCH XXX} // Active
{$MODESWITCH XXX+}  // identique à  {$MODESWITCH XXX}
{$MODESWITCH XXX-}  // Désactive

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:

  { 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;
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

Vous pourriez laisser un commentaire si vous étiez connecté.