Constantes typées affectables (Delphi)
Remonter à Liste des directives de compilation Delphi - Index
Type |
Commutateur |
Syntaxe |
{$J+} ou {$J-} {$WRITEABLECONST ON} ou {$WRITEABLECONST OFF} |
Par défaut |
{$J-} {$WRITEABLECONST OFF} |
Portée |
Locale |
La directive $J contrôle si les constantes typées peuvent être modifiées ou non. En mode {$J+}, les constantes typées peuvent être modifiées et sont essentiellement des variables initialisées. En mode {$J-}, les constantes typées sont réellement constantes et toute tentative de modification d'une constante typée provoque l'émission d'une erreur par le compilateur.
Les constantes affectables font référence à l'utilisation d'une constante typée comme variable modifiable à l'exécution. Par exemple :
const foo: Integer = 12; begin foo := 14; end.
Avec $WRITEABLECONST OFF, ce code provoque une erreur de compilation lors de l'affectation de la variable foo dans le bloc begin..end. Pour remédier à ce problème, transformez la déclaration const en déclaration var.
Dans les premières versions de Delphi et de Embarcadero Pascal, les constantes typées pouvaient toujours être modifiées, ce qui correspond au mode {$J+}. L'ancien code source utilisant des constantes typées affectables doit être compilé en mode {$J+}, mais pour les nouvelles applications, il est conseillé d'initialiser les variables et de compiler votre code en mode {$J-}.