|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
Проблема не нова - при переносе программы на другой компьютер начинаются проблемы - не найдены bpl. Когда их 5, не сложно все и вручную скопировать. Но когда 55 - то начинает подбешивать. К тому же заметил интересное - одна bpl требует другую. Есть ли возможность автоматического анализа / копирования таких библиотек? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2021, 10:38 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
bzums, А втянуть их в экзешник при сборке изначально, не вариант? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2021, 10:51 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
Этот вариант конечно самый нормальный :-) Но в чужую избу со своим уставом не ходят. Так хочет клиент (не знаю причины). Инсталлятор получается 350 метров. Тем не менее, ручное копирование bpl ( и тем более из разных путей) - большой гемор. Конкретно сейчас, приходится смотреть в лог Eureka (а там есть и полный путь до bpl) или парсить его. Вот и возник вопрос, может быть есть более элегантное решение. Причем для самого EXE и для BPL (которые могут ссылаться на другие BPL). Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2021, 11:11 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
bzums Есть ли возможность автоматического анализа / копирования таких библиотек? Спасибо. В поставку Делфи раньше входила утилита TDump.exe, позволяющая узнать, какие имена из каких библиотек импортируется данным exe/dll/bpl. Если проект не использует "ручную" подгрузку bpl, то можно построить дерево зависимостей, потом найти, где лежат эти bpl, потом создать .bat, который будет их копировать в "одно место" :) Если такие проблемы с копированием, как билд проекта делается? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2021, 16:59 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
bzums, Сделать одну единую bpl или глянуть таблицу импортов в exe и найти все bpl и распространять с exe. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2021, 20:30 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
Обычно у программ есть такая штука как инсталлер. Используйте его, а не копируйте отдельные файлы. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2021, 22:48 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
Cobalt747 Обычно у программ есть такая штука как инсталлер. Используйте его, а не копируйте отдельные файлы. А вопрос ТС вы внимательно читали? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2021, 03:21 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
ziv-2014 bzums, Сделать одну единую bpl или глянуть таблицу импортов в exe и найти все bpl и распространять с exe. Вот, помню, где-то после 6-7-й Delphi пролетала такая приблуда... А сейчас как можно собрать пачку библиотек в один файл? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2021, 10:41 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
Virtual Student, Создать bpl, взять исходники и добавить в bpl, скомпилировать exe с этой bpl и все. В JCL есть утилита, которая показывает в каких модулях хранится код и в какой bpl. Так что проблемы не составит. Если исходников нет, то никак. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2021, 14:47 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
Так вот я не знаю, как это билдится достоверно. В двух словах, как и писал выше - используется лог Eureka. Там есть ссылки на все bpl с путями. Скорее всего батник какой-то и просит этот лог. На выходе и имеется интсаллятор, в котором EXE и 55 bpl. Стало интересно после того, как я попытался скопировать скомпилированную программу ( на моём то компе она работает, естественно ) на другую станцию. Все концы найти невозможно. Исходники программы у меня естественно есть. Исходники все требуемых bpl - не уверен. Но скорее всего тоже. Как все это запихнуть в единый bpl ( а в идеале - автоматизировать ) - не знаю. Но попробую Большое спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2021, 15:28 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
bzums, Решается эта проблема очень просто: делается скрипт, который собирает этот exe и 55 bpl, складывает эти свежескомпиленные бинарники в определенное место и запускает компиляцию инсталлятора. Всё. Проблемы с тем, где что лежит - не будет. А IDE нужна только для отладки. И, да, лучше собирать версии на отдельном сервере сборок. Чтоб ничего лишнего. Но можно и на рабочем компе организовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2021, 16:45 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
bzums Проблема не нова - при переносе программы на другой компьютер начинаются проблемы - не найдены bpl. Эта проблема не решаема. Хочешь не пользоваться инсталлятором и копировать файлики - копируй, и приготовься страдать. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2021, 16:48 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
Так а как получить список bpl? И ещё учесть в нем и те bpl, которые требуют другоие bpl. Для меня это и есть основная проблема. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2021, 17:44 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
bzums Так а как получить список bpl? И ещё учесть в нем и те bpl, которые требуют другоие bpl. Для меня это и есть основная проблема. Спасибо. Ну вот, копируешь EXE в пустую папку, и начинаешь подкидывать, пока не запустится. Затем берешь список файлов в этой папке - это и есть искомый список. Я бы его так получил. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2021, 18:49 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
bzums Так а как получить список bpl? Спасибо. tdump смотрели? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2021, 19:14 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
bzums Спасибо. Вот батник: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Путь к папке с дельфи установите, аргумент - имя exe/bpl ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2021, 19:32 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
bzums Так а как получить список bpl? Еще вариант - EnumProcessModules при работающем приложении, получатся библиотеки с путями и даже те, которые через LoadPackage грузились. Но это надо сесть и написать... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2021, 20:11 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
x1ca4064 bzums Так а как получить список bpl? Еще вариант - EnumProcessModules при работающем приложении, получатся библиотеки с путями и даже те, которые через LoadPackage грузились. Но это надо сесть и написать... Или ProcessExplorer ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2021, 10:26 |
|
автоматический сбор всех bpl для проекта
|
|||
---|---|---|---|
#18+
25.07.2021 17:44, bzums пишет: > Так а как получить список bpl? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2021, 12:08 |
|
|
start [/forum/topic.php?fid=58&fpage=15&tid=2037150]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
93ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 9ms |
total: | 196ms |
0 / 0 |