Я занимаюсь обновлением Delphi XE3 до XE7 и заметил, что мой сценарий FinalBuilder больше не работает должным образом.
У меня есть различные проекты Delphi, настроенные для вывода файлов BPL/DCP в $(BDSCOMMONDIR)\*
, для которого в качестве переменной системной среды задано значение C:\Users\Public\Documents\Embarcadero\Studio\15.0
. Открытие проектов в среде IDE и компиляция работают должным образом, однако всякий раз, когда я компилирую с помощью FinalBuilder, файлы создаются в C:\Users\Public\Documents\RAD Studio\15.0
, и я понятия не имею, почему, я искал везде и не вижу, где этот путь установлен, т.е.
- (IDE) Инструменты -> Параметры -> Переменные среды
%APPDATA%\Embarcadero\BDS\15.0\environment.proj
- Переменные среды FinalBuilder
- Переменные системной среды
Во всех этих местах путь соответствует ожиданиям. Мое подозрение заключается в том, что XE3 и XE7 установлены на одном компьютере, просто потому, что для установки XE3 $(BDSCOMMONDIR)
указывает на C:\Users\Public\Documents\RAD Studio\10.0
(разница только в версии продукта) . Поскольку в данный момент я только оцениваю XE7, я хотел бы попытаться избежать удаления XE3, если в этом нет крайней необходимости.
Примечание. Еще одно отличие заключается в том, что при установке XE7 я выбрал установку Delphi, а не RAD Studio, которую использовал ранее при установке XE3 (мне не нужен C++ Builder).
Кто-нибудь знает, почему это происходит?
environment.proj
не повлияло на файлTools -> Environment Options
(не знаю, откуда взяты эти значения). - person James   schedule 16.09.2014BDSCOMMONDIR
env vars где угодно. Это просто не твоя работа. Вы должны раскрутить все это. Изменениеenvironment.proj
— еще один плохой ход. Зачем ты все это делаешь? - person David Heffernan   schedule 16.09.2014BDSCOMMONDIR
в переменных среды пользователя / системы, чтобы FinalBuilder мог их подобрать, причина этого в том, что есть некоторые предварительно скомпилированные файлы BPL / DCP, которые мы просто нужно вручную копировать. Однако, оглядываясь назад, вероятно, в FinalBuilder есть лучший способ сделать это (возможно, я могу загрузить переменные среды из Delphi IDE). - person James   schedule 16.09.2014rsvars.bat
? И он собирается с помощью msbuild? - person David Heffernan   schedule 16.09.2014BDSCOMMONDIR
из моих пользовательских/системных переменных среды и отменил изменения в файлеenvironment.proj
. Так что в моем сценарии FB я больше не могу ссылаться на переменнуюBDSCOMMONDIR
(что имеет смысл). Если я перейду к параметрам компилятора в FB, я могу указать ему загружать переменные из конкретной версии Delphi при запуске (который, как я полагаю, используетrsvars.bat
), однако после этого появляется только загрузка User overrides i> из Delphi и ни один из системных. - person James   schedule 16.09.2014dcc32
извне, как вы говорите, он также должен загружаться в переменные среды, иначе проекты не будут компилироваться. Глядя на выходной журнал, он вызывает такие проекты, как\B Project.pkg \Q
, что, насколько я помню, просто означает выполнение тихой компиляции. - person James   schedule 16.09.2014BDS
/BDSCOMMONDIR
и т. д. - person James   schedule 16.09.2014rsvars.bat
в скрипт перед запуском сборки, но это не сработало. Если вы посмотрите на комментарий к @UweRaabe, я нашел статью, которая была довольно интересной, возможно, реальной проблемой. - person James   schedule 16.09.2014Build Delphi
, настраиваю все свои свойства, и оно делает свое дело. Только после обновления до XE7 и, соответственно, FinalBuilder 7 эта проблема начала возникать. Я склоняюсь к тому, что это ошибка в FinalBuilder, потому что путь, который он генерирует, не принадлежит мне или Delphi. - person James   schedule 16.09.2014dcc32
, я уже объяснил в предыдущем комментарии, что все вызовы FB были\B Project.pkg \Q
, я думаю, что я не упомянул, что он вызывает компилятор Delphi, а не msbuild. Я могу перепроверить все переменные, но, насколько я помню, все, что я сделал, это добавил BDSCOMMONDIR, и это просто требование (на данный момент) для работы FB. - person James   schedule 16.09.2014