x1030: Ungültige Compiler-Direktive: '%s' (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)


Diese Meldung wird angezeigt, wenn eine Compiler-Direktive oder Befehlszeilenoption einen Fehler enthält. Die folgende Aufstellung zeigt einige der möglichen Ursachen:

  • Eine externe Deklaration enthält Syntaxfehler.
  • Eine Befehlszeilenoption oder eine Option in der Datei DCC32.CFG ist fehlerhaft oder wurde vom Compiler nicht erkannt . So ist beispielsweise die Option "-$M100" ungültig, da die minimale Stack-Größe mindestens 1024 sein muss.
  • Der Compiler hat eine $XXXXX-Direktive gefunden, aber nicht erkannt. Sie enthält wahrscheinlich einen Syntaxfehler.
  • Der Compiler hat die Direktive $ELSE oder $ENDIF, aber kein vorhergehendes $IFDEF, $IFNDEF oder $IFOPT gefunden.
  • Nach (*$IFOPT*) wurde kein Schalter mit dem Zeichen + oder - eingegeben.
  • Nach der langen Form einer Direktive fehlt ON oder OFF.
  • Auf eine Direktive mit einem numerischen Parameter folgt keine gültige Zahl.
  • Nach der Direktive $DESCRIPTION wurde kein String eingegeben.
  • Nach der Direktive $APPTYPE wurde nicht CONSOLE oder GUI eingegeben.
  • Nach der Direktive $ENUMSIZE (Kurzform $Z) wurde nicht 1, 2 oder 4 eingegeben.



(*$Description Copyright Embarcadero 2007*)    (*<-- Hier der Fehler*)
program Produce;
(*$AppType Console*)                                    (*<-- Hier der Fehler*)

begin
(*$If O+*)                                               (*<-- Hier der Fehler*)
  Writeln('Optimizations are ON');
(*$Else*)                                                (*<-- Hier der Fehler*)
  Writeln('Optimizations are OFF');
(*$Endif*)                                               (*<-- Hier der Fehler*)
  Writeln('Hello world!');
end.


Das Beispiel zeigt drei typische Fehlersituationen. Die letzten beiden Fehler wurden durch den Compiler verursacht, der die Direktive $If nicht erkannt hat.


(*$Description 'Copyright Embarcadero 2007'*)  (*String erforderlich*)
program Solve;
(*$AppType Console*)                                     (*AppType*)

begin
(*$IfOpt O+*)                                            (*IfOpt*)
  Writeln('Optimizations are ON');
(*$Else*)                                                (*OK*)
  Writeln('Optimizations are OFF');
(*$Endif*)                                               (*OK*)
  Writeln('Hello world!');
end.

$Description benötigt einen in Anführungszeichen gesetzten String, $AppType muss richtig geschrieben werden, und die Testoptionen werden mit $IfOpt durchgeführt. Mit diesen Änderungen kann das Beispiel erfolgreich compiliert werden.