Question

J'ai modifié un fichier BPG afin de l'utiliser comme fichier de création pour le serveur de génération automatisé de notre société. Pour le faire fonctionner, je devais changer

Uses                       *  Uses
  unit1 in 'unit1.pas'     *   unit1
  unit2 in 'unit2.pas'     *   unit2
   ...                     *    ...

dans le fichier DPR pour que cela fonctionne sans que le compilateur me donne des explications sur unit1.pas introuvable. C’est ennuyeux parce que je veux utiliser un fichier BPG pour voir les éléments de mon projet et chaque fois que j’ajoute une nouvelle unité, les jacks automatiques qui se trouvent dans 'unitx.pas' dans mon fichier DPR.

J'exécute make -f [puis quelques options] , les DPR que je compile ne se trouvent pas dans le même répertoire que le fichier make, mais je ne suis pas certain que cela soit important . Tout se compile bien tant que le dans 'unit1.pas est supprimé.

Était-ce utile?

La solution

Cela pourrait provenir du fait que le chemin de recherche dans l'EDI et le chemin de recherche du compilateur en ligne de commande ne sont pas les mêmes. Si vous modifiez le chemin de recherche du compilateur en ligne de commande, vous pourrez peut-être utiliser exactement le même code source que dans l'EDI.

Une possibilité pour configurer le chemin de recherche du compilateur de ligne de commande consiste à le faire dans un fichier appelé dcc32.cfg. Jetez un coup d’œil à l’aide, il existe une brève description de dcc32.cfg dans l’IDE-help.

Autres conseils

Eh bien, cette solution a fonctionné pour moi.

//{$define PACKAGE}
{$ifdef PACKAGE}
 uses 
  unit1 in 'unit1.pas'
  unit2 in 'unit2.pas'
   ... 
{$else}
 uses 
  unit1 
  unit2
   ...
{$endif}

Le seul problème est que chaque fois que vous ajoutez une nouvelle unité, Delphi efface votre paquetage ifdef en haut.

Chaque fois que je dois mettre des conditions dans un fichier de projet, je le fais:

program a;

uses
  ACondUnits;

...


unit ACondUnits;

interface

uses
{$IFDEF UseD7MM}
  Delphi7MM;
{$ELSE}
  FastMM4;
{$ENDIF}

implementation

end.

Peut-être que cette astuce fonctionne aussi dans les packages. Jamais essayé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top