![]() |
Ausschluß von Free Pascal-spezifischem Code über IFDEF FPC
In Delphi 2009 ist es mir nicht gelungen, über die Bedingung {$IFDEF FPC} den nachfolgenden Ausdruck {$IF FPC_FULLVERSION = 30000} vom Kompilieren auszuschliessen.
Der Delphi Compiler gibt "[DCC Error] Test.pas(2): E2026 Constant expression expected" aus.
Delphi-Quellcode:
Die Warnung 'Please use FPC 3.0.2' soll nur beim Kompilieren mit Free Pascal 3.0.0 ausgegeben werden.
{$IFDEF FPC}
{$IF FPC_FULLVERSION = 30000} {$MESSAGE WARN 'Please use FPC 3.0.2'} {$IFEND} {$ENDIF} Anscheinend versucht der Delphi Compiler trotz des nicht erfüllten {$IFDEF FPC} die FPC-spezifische $IF Bedingung auszuwerten. |
AW: Ausschluß von Free Pascal-spezifischem Code über IFDEF FPC
Ich kann mich nicht erinnen, dass es in D2009 derartige Probleme gab.
Sicher, dass es nicht irgendwo ein entsprechendes DEFINE gibt?
Delphi-Quellcode:
Aber k.A. ob FPC Defined und Declared kennt.
{$IF Declared(FPC_FULLVERSION) and (FPC_FULLVERSION = 30000)}
{$MESSAGE WARN 'Please use FPC 3.0.2'} {$IFEND} |
AW: Ausschluß von Free Pascal-spezifischem Code über IFDEF FPC
Zitat:
Delphi-Quellcode:
Vielen Dank, schönen Sonntag noch!
{$IF Defined(FPC_FULLVERSION) and (FPC_FULLVERSION = 30000)}
{$MESSAGE WARN 'Please use FPC 3.0.2'} {$IFEND} |
AW: Ausschluß von Free Pascal-spezifischem Code über IFDEF FPC
Dann funktioniert FPC aber nicht richtig?
So ist das seit mindestens Delphi 6.
Delphi-Quellcode:
{$IF Defined(XXX)} -> {$DEFINE XXX}
{$IF Declared(VVV)} -> const VVV = 30000; |
AW: Ausschluß von Free Pascal-spezifischem Code über IFDEF FPC
Zitat:
|
AW: Ausschluß von Free Pascal-spezifischem Code über IFDEF FPC
Ich habe nun eine einfache und kürzere Lösung gefunden die ohne $IF auskommt:
Delphi-Quellcode:
Quelle:
{$IFDEF VER3_0_0}
{$MESSAGE WARN 'Please use FPC 3.0.2'} {$ENDIF} ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz