W1013 Constante 0 convertie en NIL (Delphi)
Remonter à Messages d'erreur et d'avertissement (Delphi)
Le compilateur Delphi permet désormais à la constante 0 d'être utilisée dans des expressions de pointeurs à la place de NIL. Cela permet de compiler du code ancien avec des changements effectués dans la bibliothèque d'exécution RTL de bas niveau.
program Produce; procedure p0(p : Pointer); begin end; begin p0(0); end.
Dans cet exemple, la procédure p0 est déclarée pour prendre un paramètre Pointer alors que la constante 0 est transmise. Le compilateur exécutera les conversions nécessaires en interne, transformant le 0 en NIL, de façon à ce que le code fonctionne correctement.
program Solve; procedure p0(p : Pointer); begin end; begin p0(NIL); end.
Il existe deux approches pour résoudre le problème. Dans le cas ci-dessus, la constante 0 a été remplacée par NIL. Alternativement, la définition de la procédure aurait pu être changée de façon à ce que le paramètre soit de type Integer.