Constantes typées affectables (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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-}.