W1013 Konstante 0 wurde zu NIL konvertiert (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Der Delphi-Compiler erlaubt es nun, die Konstante 0 in Zeigerausdrücken anstelle von nil zu verwenden. Dadurch kann alter Quelltext compiliert werden, der Änderungen in der RTL enthält.
program Produce; procedure p0(p : Pointer); begin end; begin p0(0); end.
In diesem Beispiel wurde die Prozedur p0 so deklariert, dass sie als Parameter Zeiger erwartet. Allerdings wird die Konstante 0 übergeben. Der Compiler führt die erforderlichen Konvertierungen intern durch und ändert dabei 0 zu nil. Dadurch wird sichergestellt, dass der Quelltext korrekt ausgeführt werden kann.
program Solve; procedure p0(p : Pointer); begin end; begin p0(NIL); end.
Dieses Problem kann auf zwei Arten gelöst werden. Im obigen Beispiel wurde die Konstante 0 durch nil ersetzt. Alternativ dazu könnte auch die Prozedurdefinition geändert werden, sodass der Parametertyp vom Typ Integer ist.