Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Для новичков > Куда складировать bpl? |
Автор: bazzzman 7.5.2007, 06:22 |
Я распространяю свое приложение с файлами vcl70.bpl и rtl70.bpl. Для основного приложения есть ряд дополнительных утилит которые можно скачать с сайта и они тоже нуждаются в bpl. Раньше я просто складывал bpl в папку C:\Windows\System32 и все отлично работало. С приходом висты, засорять эту папку «не правильно» и пришлось класть bpl в папку с программой – «c:\Program Files\KeyMan». Чтобы утилиты с сайта работали, я добавил путь к программе в переменную среду «path», но это очень не нравится отдельным пользователям. Может кто-нибудь знает как можно не используя переменную path заставить exe видеть bpl? Может есть возможность как-то зарегистрировать библиотеку в системе и указать к ней полный путь? |
Автор: Snowy 7.5.2007, 08:03 |
А разве он их не видит? Положи в папку с программой и всё. |
Автор: bazzzman 7.5.2007, 08:53 |
Пользователь заходит на сайт, нажимает на утилиту к программе. Окошко "открыть/сохранить". Далее два варианта: 1. "Открыть", браузер куда-то скачивает файл (наверное temp), запускает. 2. "Сохранить", пользователь куда-то сохраняет файл (я люблю на рабочий стол все кидать, в конце для удаляю файлы). В обоих случаях скаченная и запущенная утилита находится не в папке программы => не может найти bpl => шокирует пользователя ошибкой. |
Автор: Alex 7.5.2007, 09:14 |
Прошу прощения, что вмешиваюсь не по делу, но зачем вообще вы компилируете свой проект в пакетном режиме, начинаете заниматься извращениями с bpl и в результате получаете размер дистрибутива в 1,6М? Не удобней ли, а главное намного проще и надежней скомпилировать в режиме "все включено" компилятор в Delphi умный и вставит в exe только те функции из пакетов, которые реально используются в приложении, а не всю никому не нужную требуху... |
Автор: bazzzman 7.5.2007, 09:48 |
Alex, все это делается ради плагинов. 1. Если компилим без bpl получаем 800кб дистрибутива и 200-300кб каждый (!!!) плагин. Сейчас у программы есть 10 плагинов от 30кб до 147кб весом. Причем это полноценные vcl плагины, с формами и т.д. К тому же полную версию надо ставить один раз, потом можно качать no_bpl - это уже 1.04мб. Т.е. наоборот выигрываем в размере. 2. Нельзя в плагинах использовать строки и работать с классами vcl основного приложения (например, нельзя обратится из dll к главной форме приложения без явного приведения типов; "as TForm" и "is TForm" не работают). Это для меня очень важно. |
Автор: Alex 7.5.2007, 10:13 |
Ок, плагины насколько я понял бесплатные, теперь анализируем сколько же пользователей используют все 10 плагинов думаю не так много вывод ради небольшого числа людей такие проблемы с bpl 200кб даже на модеме не криминал плюс об упаковщиках dll и exe не забываем ![]() Добавлено через 6 минут и 45 секунд Я не против bpl, но считаю, что рядового пользователя вся это чехарда с ними только отпугивает от продукта, получается стремясь уменьшить объем программы, ты применяемым способом отпугиваешь рядовых пользователей... |
Автор: Snowy 7.5.2007, 10:20 |
bazzzman, используй инсталлятор. Например InnoSetup. Он сам тебе положит свежие плагины в папку с программой. Либо создай свою закачку плагинов. Либо дай им кустомное расширение и зарегестрируй его на свою программу. При открытии файлов с таким расширением, складывай их в папку с плагинами, автоматом переименовывая в bpl. Вот навскидку аж 3 варианта - выбирай любой. Добавлено через 4 минуты и 47 секунд Alex, тут я с тобой не соглашусь. Использование bpl очень даже оправдано. Просто нужно уметь с ними дружить и применять с умом. Мои последние 2 проекта построены на комбинации статических и динамических bpl. И дело не только в плюсах, которые они дают. Они также заставляют выстраивать грамотную архитектуру проекта. За последний год стал их очень любить и уважать ![]() |
Автор: Alex 7.5.2007, 10:42 |
Snowy, я не спорю, возможно я не прав, но лично меня бы как разработчика не устроил ни один из предложеных вариантов ![]() И насколько я помню если к примеру программист перейдет с Delphi 7 на 2006, то bpl нужно будет все обновить в том числе и для плагинов, а это как я понимаю пере собрать все плагины и заставить пользователя все скачать и установить по новой, вот пользователь просто прыгать от радости будет делая это. Если я не прав поправьте меня. |
Автор: MetalFan 7.5.2007, 12:17 |
Alex, если все будет зашито в инсталятор, то для пользователя установка bpl будет прозрачна... так что особых проблем при правильном подходе к реализации плагинов в bpl я не вижу. разве что невозможность(затрудненность) создания плагинов в других средах разработки, или других версиях Delphi... |
Автор: Alex 7.5.2007, 12:27 |
MetalFan, тогда не забудь сделать защиту, что бы тебе новой версии программы не могли подсунуть плагин скомпилированный к примеру в Delphi 7, а программа уже скомпилирована под Delphi 2006, а то рано или поздно наступишь на эти грабли и тебе будет головная боль и пользователям не приятно. Т.к. рано или поздно все равно смена версии среды разработки у тебя произойдет. |
Автор: skylex 21.12.2008, 15:41 |
скиньте пожалуйста файл "rtl120.bpl" |
Автор: bartram 22.12.2008, 18:15 |
Смысл? Он есть в поставке с Делфи. |