Betrachten Sie das folgende Snippet:
%Vor% Es scheint absolut syntaktisch korrekt zu sein. Der Compiler drosselt ihn jedoch und meldet Constant expression expected
. Was passiert hier wirklich?
Technisch: derzeit nur auf XE (15.0.3953.35171) getestet.
Natürlich sind auch Workaround-Vorschläge willkommen.
package
Module unterscheiden sich von program
und library
Module. Sie enthalten keinen ausführbaren Code und Sie können nicht use
units. Daher sind Symbole wie RTLVersion
einfach nicht aus einer Paketdatei sichtbar. Ihre einzige Option ist die Verwendung von $IFDEF
.
Ich bin überzeugt, was ich gerade gefunden habe. Berücksichtigen Sie Folgendes:
%Vor%Es scheint also, dass der Compiler sich korrekt verhält, gibt aber eine ziemlich irreführende (wenn nicht falsche) Nachricht über das Symbol aus, das kein konstanter Ausdruck ist, während das fragliche Symbol tatsächlich undeclared ist!