Question

J'ai un problème. Je vais essayer de l'expliquer.

J'ai une unité qui a une classe et peut-être aurai de nouvelles fonctions.

D3BF4E849ACC45249B990F802EFB1F15 \ UnitFile1.pas 8DC8977E7A7B469AACFE3CC77CA7075E \ UnitFile1.pas

Les deux ont une même classe: IClass_1 = classe

Im en utilisant des numéros de code pour les versions différentes de ce fichier.

Un autre fichier unité (UnitFile2.pas) utilise ce fichier unité (UnitFile1.pas).

En outre, le deuxième fichier unité (UnitFile2.pas) comporte différentes versions.

F94C439C822E490DB228F2C16EF2C190 \ UnitFile2.pas 14CEEFAFF1D64DDD8CBDEDD334D4A3FF \ UnitFile2.pas

Les deux ont une même classe: IClass_2 = class (IClass_1)

problème commence;

"F94C439C822E490DB228F2C16EF2C190 \" UnitFile2.pas Besoins "D3BF4E849ACC45249B990F802EFB1F15 \ UnitFile1.pas"

"14CEEFAFF1D64DDD8CBDEDD334D4A3FF \ UnitFile2.pas" Besoins "8DC8977E7A7B469AACFE3CC77CA7075E \ UnitFile1.pas"

Mais les noms de fichiers sont les mêmes (je besoin d'un système comme celui-ci. Ils sont les mêmes). Et dans le fichier de l'unité, delphi ne me laisse pas d'écrire comme ça;

Dans le fichier \ F94C439C822E490DB228F2C16EF2C190 UnitFile2.pas; utilise dans UnitFile1 'D3BF4E849ACC45249B990F802EFB1F15 \ UnitFile1.pas';

J'espère que je pourrais dire à mon problème. Comment puis-je dire au compilateur quel fichier unité je veux utiliser avec son chemin? (Im en utilisant Delphi-7)

Était-ce utile?

La solution

Donnez vos noms unitaires des noms différents, vous pouvez simplement inclure les deux unités du projet.

Ensuite, utilisez un alias de l'unité dans vos options de projet pour créer un « nom de l'unité virtuelle » qui décide de l'un ou l'autre de ces unités réelles. Dans les unités qui « utiliser » l'un ou l'autre de ceux-ci y font référence par l'alias de l'unité - le « nom virtuel »

.

par exemple. dans le dpr:

  uses
    ...
    UnitFile1a in '....\UnitFile1a.pas',
    UnitFile1b in '....\UnitFile1b.pas',
    ...

Dans vos unités:

   uses
     UnitFile1;

Dans les options de projet d'un alias de l'unité qui est soit:

   UnitFile1=UnitFile1a

ou

   UnitFile1=UnitFile1b

Vous pouvez construire votre projet avec celui qui « UnitFile1? » unité est appropriée en changeant simplement l'alias de l'unité.

Autres conseils

Vous devez configurer vos options de projet pour mettre le « D3BF4E849ACC45249B990F802EFB1F15 » et « F94C439C822E490DB228F2C16EF2C190 » dans les chemins de recherche. Vous ne pouvez pas spécifier les chemins de l'unité dans le code.

Je ne suis pas sûr que cela résout votre problème, mais il y a le concept de namespaces, ce qui vous permet de mettre des points dans les noms des unités comme ceci:

Plutôt que d'avoir le même nom dans des répertoires différents ...

D3BF4E849ACC45249B990F802EFB1F15 \ UnitFile1.pas 8DC8977E7A7B469AACFE3CC77CA7075E \ UnitFile1.pas

F94C439C822E490DB228F2C16EF2C190 \ UnitFile2.pas 14CEEFAFF1D64DDD8CBDEDD334D4A3FF \ UnitFile2.pas

vous pouvez utiliser un préfixe de nom de fichier:

D3BF4E849ACC45249B990F802EFB1F15.UnitFile1.pas 8DC8977E7A7B469AACFE3CC77CA7075E.UnitFile1.pas

F94C439C822E490DB228F2C16EF2C190.UnitFile2.pas 14CEEFAFF1D64DDD8CBDEDD334D4A3FF.UnitFile2.pas

Vous pouvez ensuite utiliser les fichiers complets dans la clause uses, par exemple:.

uses
  D3BF4E849ACC45249B990F802EFB1F15.UnitFile1;

Oui, cela fonctionne avec Delphi 7.

Pour autant que je sache, vous ne pouvez pas ajouter deux unités du même nom à un projet.

Vous pouvez ajouter le dossier approprié aux options du projet, ou vous pouvez ajouter les unités nécessaires à la Vue - Chef de projet ' écran (clic droit sur le nom du projet et choisissez Ajouter '. Choisissez le unité correcte dossier correct , et de que sur vous pouvez utiliser uniquement le nom de l'unité sous toutes ses formes et une autre unité dans votre projet .

Pourquoi vous voulez utiliser ces noms de dossiers énigmatiques est vraiment au-delà de moi. Je ne peux pas penser à tout, aucune raison pour laquelle vous voudriez faire.

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