Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Настройки компилятора


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 пакеты


Наверх

Титульная страница Поиск, карта сайта Написать письмо