|
Модераторы: Snowy, MetalFan, bems, Poseidon |
|
bazzzman |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 62 Регистрация: 24.7.2006 Репутация: нет Всего: 2 |
Я распространяю свое приложение с файлами vcl70.bpl и rtl70.bpl.
Для основного приложения есть ряд дополнительных утилит которые можно скачать с сайта и они тоже нуждаются в bpl. Раньше я просто складывал bpl в папку C:\Windows\System32 и все отлично работало. С приходом висты, засорять эту папку «не правильно» и пришлось класть bpl в папку с программой – «c:\Program Files\KeyMan». Чтобы утилиты с сайта работали, я добавил путь к программе в переменную среду «path», но это очень не нравится отдельным пользователям. Может кто-нибудь знает как можно не используя переменную path заставить exe видеть bpl? Может есть возможность как-то зарегистрировать библиотеку в системе и указать к ней полный путь? |
|||
|
||||
Snowy |
|
|||
Эксперт Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
А разве он их не видит?
Положи в папку с программой и всё. |
|||
|
||||
bazzzman |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 62 Регистрация: 24.7.2006 Репутация: нет Всего: 2 |
Пользователь заходит на сайт, нажимает на утилиту к программе. Окошко "открыть/сохранить". Далее два варианта:
1. "Открыть", браузер куда-то скачивает файл (наверное temp), запускает. 2. "Сохранить", пользователь куда-то сохраняет файл (я люблю на рабочий стол все кидать, в конце для удаляю файлы). В обоих случаях скаченная и запущенная утилита находится не в папке программы => не может найти bpl => шокирует пользователя ошибкой. |
|||
|
||||
Alex |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 162 |
Прошу прощения, что вмешиваюсь не по делу, но зачем вообще вы компилируете свой проект в пакетном режиме, начинаете заниматься извращениями с bpl и в результате получаете размер дистрибутива в 1,6М? Не удобней ли, а главное намного проще и надежней скомпилировать в режиме "все включено" компилятор в Delphi умный и вставит в exe только те функции из пакетов, которые реально используются в приложении, а не всю никому не нужную требуху...
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
bazzzman |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 62 Регистрация: 24.7.2006 Репутация: нет Всего: 2 |
Alex, все это делается ради плагинов.
1. Если компилим без bpl получаем 800кб дистрибутива и 200-300кб каждый (!!!) плагин. Сейчас у программы есть 10 плагинов от 30кб до 147кб весом. Причем это полноценные vcl плагины, с формами и т.д. К тому же полную версию надо ставить один раз, потом можно качать no_bpl - это уже 1.04мб. Т.е. наоборот выигрываем в размере. 2. Нельзя в плагинах использовать строки и работать с классами vcl основного приложения (например, нельзя обратится из dll к главной форме приложения без явного приведения типов; "as TForm" и "is TForm" не работают). Это для меня очень важно. |
|||
|
||||
Alex |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 162 |
Ок, плагины насколько я понял бесплатные, теперь анализируем сколько же пользователей используют все 10 плагинов думаю не так много вывод ради небольшого числа людей такие проблемы с bpl 200кб даже на модеме не криминал плюс об упаковщиках dll и exe не забываем Другой вариант развития плагинами пользуются практически все пользователи программы, тогда у меня возникает вопрос нафига это тогда в плагины выносить и самому страдать и других мучить заставляя скачивать все плагины...
Добавлено через 6 минут и 45 секунд Я не против bpl, но считаю, что рядового пользователя вся это чехарда с ними только отпугивает от продукта, получается стремясь уменьшить объем программы, ты применяемым способом отпугиваешь рядовых пользователей... -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
Snowy |
|
|||
Эксперт Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
bazzzman, используй инсталлятор. Например InnoSetup.
Он сам тебе положит свежие плагины в папку с программой. Либо создай свою закачку плагинов. Либо дай им кустомное расширение и зарегестрируй его на свою программу. При открытии файлов с таким расширением, складывай их в папку с плагинами, автоматом переименовывая в bpl. Вот навскидку аж 3 варианта - выбирай любой. Добавлено через 4 минуты и 47 секунд Alex, тут я с тобой не соглашусь. Использование bpl очень даже оправдано. Просто нужно уметь с ними дружить и применять с умом. Мои последние 2 проекта построены на комбинации статических и динамических bpl. И дело не только в плюсах, которые они дают. Они также заставляют выстраивать грамотную архитектуру проекта. За последний год стал их очень любить и уважать |
|||
|
||||
Alex |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 162 |
Snowy, я не спорю, возможно я не прав, но лично меня бы как разработчика не устроил ни один из предложеных вариантов
И насколько я помню если к примеру программист перейдет с Delphi 7 на 2006, то bpl нужно будет все обновить в том числе и для плагинов, а это как я понимаю пере собрать все плагины и заставить пользователя все скачать и установить по новой, вот пользователь просто прыгать от радости будет делая это. Если я не прав поправьте меня. -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
MetalFan |
|
|||
Аццкий Сотона Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
Alex, если все будет зашито в инсталятор, то для пользователя установка bpl будет прозрачна...
так что особых проблем при правильном подходе к реализации плагинов в bpl я не вижу. разве что невозможность(затрудненность) создания плагинов в других средах разработки, или других версиях Delphi... Это сообщение отредактировал(а) MetalFan - 7.5.2007, 12:18 -------------------- There are always someone smarter than you... |
|||
|
||||
Alex |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 162 |
MetalFan, тогда не забудь сделать защиту, что бы тебе новой версии программы не могли подсунуть плагин скомпилированный к примеру в Delphi 7, а программа уже скомпилирована под Delphi 2006, а то рано или поздно наступишь на эти грабли и тебе будет головная боль и пользователям не приятно. Т.к. рано или поздно все равно смена версии среды разработки у тебя произойдет.
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
skylex |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 21.12.2008 Репутация: нет Всего: нет |
скиньте пожалуйста файл "rtl120.bpl"
|
|||
|
||||
bartram |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: нет Всего: 29 |
Смысл? Он есть в поставке с Делфи. |
|||
|
||||
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |