x1030: Directive de compilation incorrecte : '%s' (Delphi)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Messages d'erreur et d'avertissement (Delphi)

Ce message d'erreur signifie qu'il y a une erreur dans une directive de compilation ou dans une option de ligne de commande. Voici quelques situations d'erreur possibles :

  • Une déclaration external était syntaxiquement incorrecte.
  • Une option de la ligne de commande ou une option du fichier DCC32.CFG n'était pas reconnue par le compilateur ou était incorrecte. Par exemple, '-$M100' est incorrecte car la taille minimale de la pile doit être de 1024 au moins.
  • Le compilateur a trouvé une directive $XXXXX, mais il n'a pu la reconnaît. Elle était probablement mal orthographiée.
  • Le compilateur a trouvé une directive $ELSE ou $ENDIF, mais aucune directive $IFDEF, $IFNDEF ou $IFOPT ne la précédait.
  • (*$IFOPT*) n'était pas suivie par une option de bascule et un + ou un -.
  • Le format long d'une directive de bascule n'était pas suivi de ON ou de OFF.
  • Une directive ayant un paramètre numérique n'était pas suivie d'un nombre correct.
  • La directive $DESCRIPTION n'était pas suivie d'une chaîne.
  • La directive $APPTYPE n'était pas suivie par CONSOLE ou GUI.
  • La directive $ENUMSIZE (format court : $Z) n'était pas suivie par 1,2 ou 4.



(*$Description Copyright Embarcadero Technologies 2007*)    (*<-- Erreur ici*)
program Produce;
(*$AppType Console*)                                     (*<-- Erreur ici*)

begin
(*$If O+*)                                               (*<-- Erreur ici*)
  Writeln('Optimisations ON');
(*$Else*)                                                (*<-- Erreur ici*)
  Writeln('Optimisations OFF');
(*$Endif*)                                               (*<-- Erreur ici*)
  Writeln('Bonjour!');
end.


L'exemple montre trois cas d'erreur typiques, et les deux dernières sont causés par le compilateur qui ne reconnaît pas $If.


(*$Description 'Copyright Embarcadero Technologies 2007'*)  (*Requiert une chaîne*)
program Solve;
(*$AppType Console*)                                     (*AppType*)

begin
(*$IfOpt O+*)                                            (*IfOpt*)
  Writeln('Optimisations ON');
(*$Else*)                                                (*OK maintenant*)
  Writeln('Optimisations OFF');
(*$Endif*)                                               (*OK maintenant*)
  Writeln('Bonjour!');
end.

Ainsi $Description requiert une chaîne entourées d'apostrophes, nous devons correctement orthographier $AppType, et les options de vérification sont activées avec $IfOpt. Avec ces modifications, l'exemple se compile correctement.