Registriert seit: 19. Jun 2006
650 Beiträge
Delphi 11 Alexandria
|
AW: Delphi und FPC compiler problem
15. Aug 2022, 14:27
Das ist ein reines Compilier/Parser Problem und nicht ein Compilat Problem. Allfälliger Code innerhalb des IFDEF FPC wird ncht in das Programm compiliert. Das ist alles richtig und macht er auch so. Mit meinem obigen Lösungsansatz kannst du nach dem IFDEF FPC Müll reinschreiben und alles compiliert wie es sollte. Der Müll wird wie erwartet ignoriert.
Der Compiler wertet aber alle {$...} Zeilen aus, auch solche die er garnicht müsste. Da dort nun aber eine Referenz auf eine Konstante gemacht wird (FPC_VERSION >= 3) weiss der Delphi Compiler nicht was er damit anfangen soll, da er kein FPC_VERSION kennt. Ob da nun Defined oder Declared steht, hat für diesen Fehler keinen Einfluss, da dieser Teil eh nicht ins Compilat kommt.
@Uwe Raabe
Hab es eben mit D7 getestet und auch da kommt der Fehler aus gleichen Gründen. Wenn man da im IF einen Vergleich macht muss die entsprechende Konstante vorhanden sein, sonst knallt es.
Wie gesagt ist das ein reines Parser Problem und der Compiler macht da alles wie er muss, achtet also nicht auf das Zeugs innerhlab der IFDEF FPC beim compilieren. Für mich schaut das nicht wirklich nach einem Bug aus, sondern ist vermutlich "As Designed".
Geändert von Rolf Frei (15. Aug 2022 um 14:30 Uhr)
|