2010-08-31 14 views
7

Ich habe das Konstrukt:

{$ifopt FINITEFLOAT ON} 
    {$message 'FINITEFLOAT option ON' } 
{$else } 
    {$message 'FINITEFLOAT option OFF' } 
{$endif } 

in meiner Quelle und es wird nicht kompilieren! Es muss etwas Dummes sein. Der Fehler ist:

E1030 Ungültige Compiler-Direktive: ‚$ IFOPT‘

in der ersten Zeile, aber es ist die FINITEFLOAT es über beschwert. Sie scheinen nichts außer den Direktiven mit einem Buchstaben wie R + usw. als Argument von IFOPT angeben zu können.

Fehle ich hier etwas?

Antwort

5

Sie sind völlig korrekt AFAICT. Ich benutze $IFOPT nicht oft, aber jedes Mal, wenn ich tun dieses Verhalten ärgert mich. Ich habe keine Ahnung, warum das so umgesetzt wird.

Bearbeiten: Es gibt eine Quality Central issue for this.

+0

Gerade diese gefunden: „http: // DocWiki .embarcadero.com/RADStudio/de/X1030_Invalid_compiler_directive _-_ '% 25s' _ (Delphi) "(Angegebene URL als S/O analysiert die URL nicht richtig, wenn sie in einem") "endet). Und ich sehe die QC. Nicht zu fassen. Also kann ich den Status einer Compiler-Option, die keine abgekürzte Form hat, nicht melden? – rossmcm

+0

Beiseite. Ich habe meinen Beitrag in einer Google-Suche weniger als 15 Minuten nach dem Absenden gefunden. Das ist schnell. – rossmcm

1

Es stimmt, man kann nicht :(Das ist, weil IFOPT betrachtet als die Rückwärtskompatibilität Funktion und funktioniert nicht mit allen möglichen erweiterten Richtlinien zB. {$A2} kann so eingestellt werden, aber nicht abgerufen zurück