Используется с путем к файлу модуля в файле модуля
У меня проблемы. Я постараюсь объяснить это.
У меня есть блок, который имеет класс и, возможно, будет иметь новые функции.
D3BF4E849ACC45249B990F802EFB1F15 \ UnitFile1.pas 8DC8977E7A7B469AACFE3CC77CA7075E \ UnitFile1.pas
Оба они имеют один и тот же класс: IClass_1 = класс
Я использую кодовые номера для разных версий этого файла.
Другой файл модуля (UnitFile2.pas) использует этот файл модуля (UnitFile1.pas).
Кроме того, второй файл модуля (UnitFile2.pas) имеет разные версии.
F94C439C822E490DB228F2C16EF2C190 \ UnitFile2.pas 14CEEFAFF1D64DDD8CBDEDD334D4A3FF \ UnitFile2.pas
Оба они имеют один и тот же класс: IClass_2 = class(IClass_1)
Теперь проблема начинается;
"F94C439C822E490DB228F2C16EF2C190 \ UnitFile2.pas" нуждается в "D3BF4E849ACC45249B990F802EFB1F15 \ UnitFile1.pas"
"14CEEFAFF1D64DDD8CBDEDD334D4A3FF \ UnitFile2.pas" нужно "8DC8977E7A7B469AACFE3CC77CA7075E\UnitFile1.pas"
Но имена файлов одинаковы (мне нужна такая система. Так они одинаковы). А в модульном файле delphi не позволяет мне писать так;
В файле F94C439C822E490DB228F2C16EF2C190\UnitFile2.pas; использует UnitFile1 в 'D3BF4E849ACC45249B990F802EFB1F15\UnitFile1.pas';
Я надеюсь, что смогу рассказать свою проблему. Как я могу сказать компилятору, какой файл модуля я хочу использовать с его путем? (Я использую Delphi-7)
4 ответа
Присвойте названия вашим устройствам РАЗНЫЕ имена, вы можете просто включить оба устройства в проект.
Затем используйте псевдоним модуля в опциях вашего проекта, чтобы создать "имя виртуального модуля", которое разрешается для одного или другого из этих реальных модулей. В блоках, которые "используют" один или другой из них, ссылаются на них псевдонимом блока - "виртуальное имя".
например в дпр:
uses
...
UnitFile1a in '....\UnitFile1a.pas',
UnitFile1b in '....\UnitFile1b.pas',
...
В ваших подразделениях:
uses
UnitFile1;
В опциях вашего проекта псевдоним модуля, который либо:
UnitFile1=UnitFile1a
ИЛИ ЖЕ
UnitFile1=UnitFile1b
Затем вы можете построить свой проект с любым "UnitFile1?" единица является подходящей, просто изменяя псевдоним единицы.
Вы должны настроить параметры проекта, чтобы поместить "D3BF4E849ACC45249B990F802EFB1F15" и "F94C439C822E490DB228F2C16EF2C190" в пути поиска. Вы не можете указать пути к единицам в коде.
Я не уверен, решит ли это вашу проблему, но есть концепция пространств имен, которая позволяет вам помещать точки в имена модулей следующим образом:
Вместо того, чтобы иметь одно и то же имя файла в разных каталогах...
D3BF4E849ACC45249B990F802EFB1F15 \ UnitFile1.pas 8DC8977E7A7B469AACFE3CC77CA7075E \ UnitFile1.pas
F94C439C822E490DB228F2C16EF2C190 \ UnitFile2.pas 14CEEFAFF1D64DDD8CBDEDD334D4A3FF \ UnitFile2.pas
Вы можете использовать префикс имени файла:
D3BF4E849ACC45249B990F802EFB1F15.UnitFile1.pas 8DC8977E7A7B469AACFE3CC77CA7075E.UnitFile1.pas
F94C439C822E490DB228F2C16EF2C190.UnitFile2.pas 14CEEFAFF1D64DDD8CBDEDD334D4A3FF.UnitFile2.pas
Затем вы можете использовать полные имена файлов в предложении использования, например:
uses
D3BF4E849ACC45249B990F802EFB1F15.UnitFile1;
Да, это работает с Delphi 7.
Насколько я знаю, вы не можете добавить два проекта с одинаковым именем в проект.
Вы можете добавить правильную папку в Параметры проекта или добавить необходимые единицы на экран "Просмотр - Менеджер проектов" (щелкните правой кнопкой мыши имя проекта и выберите "Добавить". Выберите правильную единицу в правильной папке и с этого момента вы можете использовать только имя устройства в каждой форме и другое устройство в вашем проекте.
Почему вы хотите использовать такие загадочные имена папок, на самом деле мне не понятно. Я не могу думать ни о какой, ни о какой причине, почему вы хотели бы сделать это.