![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Настройки компилятора
gltrinix © (2012-05-07 12:16:00)Можно ли сделать так, чтобы некоторые ~.pas/~.dcu модули были откомпилированы в отдельный файл?
Хочу сделать автообновление программы и, чтобы каждый раз не скачивать 1,7Мб - необходимо сократить exe файл за счет неизменяемых компонентов и модулей типа Classes, SysUtils, Indy и др.
Давайте будем жрать! (2012-05-08 13:26:00) [1]
> upx
Забудь. Хотя... Пока сам шишек не набьёшь, к совету не прислушаешься.
> Ключевое слово - целесообразность
Я двумями руками «за» нецелесообразность рантайм-пакетов в маленьком проекте. У меня 60 *.длл с 122 *.бпл почти 90 мегабайт весят. Если бы длл скомпилить без рантайм-пакетов, размер бы *.длл неслабо вырос и возникли проблемы с несовпадающими ТВМ... Вопрос скорости передачи по сети не стоит.
Вот «огромное количество проблем с bpl» смущает. Проблемы из-за низкой квалификации — это я бы понял, но ты ведь говоришь, что ключевое слово — не «ты»? :-)
Ega23 (2012-05-08 13:12:00) [2]
> Хе. Ключевое слово — «ты»?
Не только. Ключевое слово - целесообразность. У меня exe в debug-версии больше 30 метров весит, куда тут до 1.7
gltrinix (2012-05-08 13:11:00) [3]upx(Project1.exe + rtl150.bpl + vcl150.bpl + glscene_runtime.bpl) = 2МБ. Размер exe при этом 170 КБ.
Чтобы не было каких-либо "несовместимостей" rtl150.bpl и vcl150.bpl лежат в одной папке с проектом, поэтому они запускаются по-умолчанию в первую очередь.
Давайте будем жрать! (2012-05-08 10:20:00) [4]
> А вот то, что ты поимеешь огромное количество проблем с
> bpl - к гадалке не ходи.
Хе. Ключевое слово — «ты»? Потому как лично я знаю ровно две проблемы с бпл: нельзя в разных бпл объявить два юнита с одним именем; можно в бпл включить юнит с именем, совпадающим с бпл, что приводит к очень забавным последствиям. В остальном работает отлично, неожиданностей куда меньше, чем при использовании длл.
Впрочем, монолитную программу аж на 1.7 мега бить на кучу бпл тоже считаю излишним.
megavoid (2012-05-08 08:38:00) [5][6] И я присоединяюсь.
Сначала я увлекался dll-ками, правда, а не пакетами - bpl распространять вообще дикость. Потом стал делать dll только там, где они действительно нужны; но exe всё ещё жал upx'ом. Потом перестал и этим маяться.
Германн (2012-05-08 03:24:00) [6]
> Ega23 © (08.05.12 02:23) [6]
Присоединяюсь. Один раз за всю свою жизнь использовал галку Build with runtime packagesв познавательных целях именно так как в топике. Было это в 98-99 годах на Д4. И понял, что эта технология для "облегчения ЕХЕ-шника" нафиг не нужна/не удобна/геморройна и т.д. и т.п.
Ega23 (2012-05-08 02:23:00) [7]
> Хочу сделать автообновление программы и, чтобы каждый раз
> не скачивать 1,7Мб - необходимо сократить exe файл за счет
> неизменяемых компонентов и модулей типа Classes, SysUtils,
> Indy и др.
Что такое в наше время скачать 1.7 Мб? Да любой ролик ютуба весит в десяток раз больше.
А вот то, что ты поимеешь огромное количество проблем с bpl - к гадалке не ходи. И таки да, придётся вместе с exe распространять дофига bpl. А потом ты упрёшься во всякого рода совместимость их от разных версий Delphi.
А теперь давай прикинем. Пусть твой пользователь живёт в самой захолустной Нижней Бердяевке с диалапом 16 кбит/c. Или 2 Кб/с. Путём нехитрых вычислений можно увидеть, что скачать 1.7 Мб - это 850 секунд или 12.5 минут.
Вопрос: как часто у тебя выходит твоё обновление? Раз в час? В сутки? В месяц?
Стоит ли твой здоровенный геморрой (а это здоровенный геморрой, поверь) этих несчастных 12.5 минут при самом тормозном диалапе?
Как-то так.
gltrinix (2012-05-07 22:31:00) [8]Разобрался благодаря Ctrl+Alt+M. См. здесь: http://www.cyberforum.ru/cpp-builder/thread559045.html
gltrinix (2012-05-07 13:30:00) [9]Может еще подскажет кто, как настроить компиляцию bpl, которые использует проект в отдельную папку? Delphi XE.
Пробовал Project -> Options -> Delphi Compiler -> Package output directory изменить, но в назначенной директории после компиляции или ребилда проекта пусто.
CRLF (2012-05-07 13:01:00) [10]Ага, теперь вместе с *.exe придётся растространять как минимум rtl.bpl + vcl.bpl весом в 4.5 мега (делфи хе).
gltrinix (2012-05-07 12:55:00) [11]Спасибо, протупил, тему можно считать закрытой.
Anatoly Podgoretsky (2012-05-07 12:22:00) [12]> gltrinix (07.05.2012 12:16:00) [0]
Run Time пакеты