X1033 L'unité '%s' est implicitement importée dans le package '%s' (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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


Cet avertissement indique qu'une unité a été implicitement liée dans le package en cours de compilation. Normalement, les unités sont impliquées dans un package de l'une des deux façons suivantes :

  • Importation explicite via le dossier "Contient"
  • Spécification d'une partie d'un autre package dans le dossier "Requiert"

Si une unité nécessaire à la compilation est introuvable dans le dossier "Contient" ou au sein d'un package spécifié dans le dossier "Requiert", l'unité est implicitement importée comme si elle était incluse dans le dossier "Contient".

Cet avertissement signale au programmeur qu'il faut considérer explicitement l'ajout de l'unité au package ou l'ajout d'une référence à un package contenant l'unité manquante.

Pour éviter ce problème à l'avenir, vous devez ajouter le fichier .dcp (qui contient les informations de compilation et de liaison pour le package) au dossier/à la clause Requiert ou Contient :

  • Le dossier Requiert se réfère typiquement à d'autres packages qui contiennent les unités nécessaires à la compilation de ce package. Ces packages peuvent provenir de Delphi, comme le package RTL contenant l'unité System, SysUtils, et ainsi de suite, ou provenir d'autres packages créés par le programmeur contenant les unités définies par l'utilisateur.
  • Le dossier Contient implique les unités à inclure dans le package, en ne comptant pas les unités trouvées dans les autres packages listés dans le dossier "Requiert".

Correction du problème

Dans l'éditeur de code, vous pouvez ajouter des unités aux clauses Requires (Requiert) et Contains (Contient) en modifiant votre code. Dans le gestionnaire de projets, vous pouvez ajouter des unités aux dossiers "Requiert" et "Contient", comme décrit ici.

Pour ajouter une référence au dossier "Requiert" dans le gestionnaire de projets

  1. Cliquez avec le bouton droit sur le dossier "Requiert".
  2. Sélectionnez la commande Ajouter une référence dans le menu contextuel.
  3. Dans la boîte de dialogue Ajouter, sélectionnez le fichier .dcp approprié ou tapez simplement le nom du fichier .dcp du projet de référencement si le fichier se trouve dans le chemin de recherche.
  4. Le fichier .dcp sera ensuite listé dans le dossier "Requiert" du projet.

Pour ajouter une unité au dossier "Contient" dans le gestionnaire de projets

  1. Cliquez avec le bouton droit sur le dossier "Contient".
  2. Effectuez l'une des opérations suivantes :
    • Ajouter nouveau > Unité dans le menu contextuel pour ajouter une unité vide dans le dossier Contient (l'éditeur de code affiche le template du code de l'unité).
    • Ajouter dans le menu contextuel pour afficher le dialogue Ouvrir. Sélectionnez le fichier .pas de l'unité que vous voulez ajouter.

Exemple

Par exemple, dans le programme suivant, Classes utilise (directement ou indirectement) consts, TypInfo et SysUtils.

package Produce;
  contains Classes;
end.

Vous obtenez un message d'avertissement pour chacune de ces unités utilisées.

Le programme suivant nomme explicitement toutes ces unités qui seront importées dans le package au sein de la clause contains pour résoudre ce problème :

package Solve;
  contains consts, TypInfo, SysUtils, Classes;
end.

Voir aussi