2008-09-17 4 views
4

Existe-t-il un moyen d'empêcher les packages dans Delphi d'importer implicitement des unités qui ne figurent pas dans la liste "Contient"? Je cherche une directive de compilateur qui fait échouer la construction si elle essaye de faire une importation implicite. Des problèmes surviennent lorsque vous installez un paquet dans l'EDI qui importe implicitement l'unité A, puis que vous essayez d'installer un autre paquet qui contient réellement l'unité A et l'EDI vous indique qu'il ne peut pas installer ce paquet car l'unité A est déjà contenue dans le premier paquet même s'il ne devrait pas l'être!Empêche l'importation implicite des unités dans les packages Delphi

Répondre

2

Si vous êtes sur une version de Delphi qui est plus que 2009, vous pouvez faire l'avertissement provoquer une erreur. Une fois que vous l'avez installé, allez dans Outils> DDevExtensions - Options et dans la section "Améliorations du compilateur" cochez la case "Actif" et "Traitez les avertissements comme des erreurs". Vous pouvez ajouter les avertissements que vous ne souhaitez pas traiter comme des erreurs dans le mémo ci-dessous. Malheureusement, dans votre cas, il semble que vous souhaitiez qu'un seul avertissement soit traité comme une erreur. Vous devrez donc ajouter à peu près tous les avertissements sauf celui concernant l'importation implicite dans la liste, bien qu'il soit généralement judicieux de résoudre les problèmes. tous les avertissements du compilateur de toute façon, donc vous pourriez vouloir juste avoir tous les avertissements causer des erreurs.

5

Delphi 2009 a la possibilité de faire des avertissements en cas de défaillance. Cela ferait ce que vous voulez faire pour le faire échouer.

Pour empêcher l'importation implicite, vous devez l'importer explicitement ou supprimer l'unité qui l'importe implicitement.

+0

Jim, où est la possibilité de traiter les avertissements comme des erreurs? – Jamie

+0

OK, je ne peux pas le trouver. Je pensais que c'était là, mais je peux être incorrect (arrive de temps en temps) –

+0

Ah, alors vous l'avez trouvé: http://stackoverflow.com/questions/268062/ –

0

Il n'y a aucun moyen de faire de cet avertissement une erreur. Dans Delphi 2009, vous pouvez traiter toutes les alertes comme des erreurs.

PS: Il est une erreur en utilisant DDevExtensions (il est gratuit) dans Delphi pour .Net

Questions connexes