Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Почему при build project компилятор требует наличие pas-файлов / 17 сообщений из 17, страница 1 из 1
22.03.2019, 14:18
    #39790058
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при build project компилятор требует наличие pas-файлов
Delphi 7
Вообщем сабж...
При этом DCU имеются и находятся компилятором, так как проект компилируется и запускается без вопросов. А вот при запуске Build Project возникает ошибка о отсутствии .pas файлов. При этом речь не идет о файлах самого проекта, а о файлах внешних компонентов, которые компилировать каждый раз при запуске Build - как-то в лом...
Может кто-то знает, как с этим можно бороться, буду благодарен за подсказку.
...
Рейтинг: 0 / 0
22.03.2019, 14:24
    #39790078
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при build project компилятор требует наличие pas-файлов
букварь чти.

зы: потому что build так и должОн работать, в отличие от compile.
он пытается перебилдить все исподники, до каких только может дотянуться.
чтоб не "дотягивался", обрежь ему пути поиска, чтоб не лазил куда ни попадя.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.03.2019, 14:33
    #39790088
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при build project компилятор требует наличие pas-файлов
Мимопроходящий,
В том-то и дело, что обрезал, Оставил только путь к .DCU, и после этого ошибка:

[Fatal Error] File not found: 'C:\Borland\CompLib\TMS Component Pack 8\AdvObj.pas'

правильно, там лежит AdvObj.dcu, но его почему-то компилятору мало, скопирую в этот каталог AdvObj.pas - возникнет ошибка о следующем файле, и так до бесконечности... %(
...
Рейтинг: 0 / 0
22.03.2019, 14:39
    #39790092
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при build project компилятор требует наличие pas-файлов
BorodaOleg,

потому что это build

выдели компоненты в отдельный BPL, чтобы их в EXE не было - тогда можно будет делать раздельно билд одного проекта или другого или обоих (Build All)
...
Рейтинг: 0 / 0
22.03.2019, 14:40
    #39790093
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при build project компилятор требует наличие pas-файлов
либо сделай себе bat-файл, который будет удалять dcu и dcp файлы, который ты хочешь билдить, а после этого файла запускай make/compile
...
Рейтинг: 0 / 0
22.03.2019, 14:43
    #39790095
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при build project компилятор требует наличие pas-файлов
не смешивай DCU-шники с PAS-файлами.
и настраивай пути к Source и Library отдельно!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.03.2019, 14:50
    #39790105
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при build project компилятор требует наличие pas-файлов
BorodaOlegОставил только путь к .DCU

А надо не в .DCU, а в библиотеках.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.03.2019, 15:22
    #39790142
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при build project компилятор требует наличие pas-файлов
AriochBorodaOleg,

потому что это build

выдели компоненты в отдельный BPL, чтобы их в EXE не было - тогда можно будет делать раздельно билд одного проекта или другого или обоих (Build All)

Не подскажешь, как это сделать? Как-то раньше не приходилось их разносить
...
Рейтинг: 0 / 0
22.03.2019, 15:26
    #39790147
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при build project компилятор требует наличие pas-файлов
Мимопроходящийне смешивай DCU-шники с PAS-файлами.
и настраивай пути к Source и Library отдельно!


Dimitry SibiryakovBorodaOlegОставил только путь к .DCU

А надо не в .DCU, а в библиотеках.


Скопировал все .bpl в каталог $(DELPHI)\Lib
Настроил туды Search Path в Project Option и Library Path в Environment Option.
Эффект тот же ...
...
Рейтинг: 0 / 0
22.03.2019, 15:45
    #39790161
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при build project компилятор требует наличие pas-файлов
BorodaOlegНастроил туды Search Path

почитай уже справку. Search Path как раз для исходников.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.03.2019, 16:02
    #39790176
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при build project компилятор требует наличие pas-файлов
Dimitry SibiryakovSearch Path как раз для исходников.Если не ошибаюсь, то Search Path для подключаемых модулей. Если лежит pas, то он компильнется. Если dcu, то она подключится as is
...
Рейтинг: 0 / 0
22.03.2019, 16:12
    #39790188
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при build project компилятор требует наличие pas-файлов
Dimitry SibiryakovBorodaOlegНастроил туды Search Path

почитай уже справку. Search Path как раз для исходников.


авторSearch path - указывает местоположение ваших исходных файлов. Только те файлы, которые находятся в пути поиска компилятора или пути поиска библиотеки, будут включены в сборку. Если вы попытаетесь построить свой проект с файлом, не указанным в пути поиска, вы получите ошибку компилятора. Вы должны включить весь путь поиска.

Поэтому я и думал, что как и файлы проекта, так и bpl должны находится в Search path.
Да и вопрос по-моему несколько не о том...
Почему имея доступ как к dcu так и к bpl компилятор все равно ищет pas? Может я что-то еще упускаю из вида?
...
Рейтинг: 0 / 0
22.03.2019, 16:23
    #39790195
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при build project компилятор требует наличие pas-файлов
Вот!
...
Рейтинг: 0 / 0
22.03.2019, 16:51
    #39790207
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при build project компилятор требует наличие pas-файлов
_Vasilisk_Если лежит pas, то он компильнется. Если dcu, то она подключится as is

Да. Они и подключается. При Compile если исходник не моложе объектника. А Build форсирует
полную пересборку, то есть фактически удаляет объектники перед началом.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.03.2019, 17:14
    #39790217
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при build project компилятор требует наличие pas-файлов
Включить галку use runtime packages. И указать в списке все BPL, в которых будет содержаться код компонентов.

Какие у тебя компоненты - стандартные, сторонние библиотеки, самописные - знаешь только ты.

https://stokito.wordpress.com/2010/08/29/delphi-используйте-bpl-пакеты-вместо-dll-библиот/
http://qaru.site/questions/474135/how-to-divide-a-delphi-project-into-bpls-properly
...
Рейтинг: 0 / 0
22.03.2019, 17:19
    #39790221
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при build project компилятор требует наличие pas-файлов
В общем с проблемой удалось справиться.
Ставлю галкочку в Project Option -> Packages -> Build with Runtime Packages
Добиваю туда все крупные библиотеки, типа TMS, RX и пр.
После этого при запуске Build компилируются только файлы проекта.
Похоже именно то, о чем говорил Arioch

Правда все файлы bpl переименовались в dcp, и совершенно непонятно, нужно ли их передавать с программой но это уже совершенно другая история

Спасибо всем, кто уделил время.
...
Рейтинг: 0 / 0
22.03.2019, 17:32
    #39790235
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при build project компилятор требует наличие pas-файлов
BorodaOlegПравда все файлы bpl переименовались в dcp

Ага, а все EXE-файлы переименовались в DCU

Пургу несёшь! DC-P это наполовину (C)-омпилированные в (D)-elphi (P)экэджи.
Ровно как DC-U - это наполовину (C)-омпилированные в (D)-elphi (U)ниты.

Ничего никуда не переименовывается.

BorodaOlegнужно ли их передавать с программой

Открой для себя такие утилиты как
FileInfo WLX for Total Commander - DLL Dependency
Microsoft Dependency walker
Jedi CodeLib - examples - Dependency Viewer
ntCore CFF Explorer - Dependency Walker
...и т.д.

Они, конечно, динамически загружаемые библиотеки не увидят, которые ты сам грузишь через LoadLibrary или LoadPackage - но статически прилинкованные постараются отследить

http://qaru.site/questions/11683639/component-build-required-package-used-for-tfdconnection-not-found
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Почему при build project компилятор требует наличие pas-файлов / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]