Ошибка: Failed to parse the Currency Converter XML document.
$1 893.19


Ошибка: Failed to parse the Currency Converter XML document.
$935.07


Ошибка: Failed to parse the Currency Converter XML document.
$20 004.13


Оптимизация проекта в Delphi

Здравствуйте, программисты-делфисты. Повидал я не мало многих программ написанных на делфи. Есть хорошие, есть не очень, но их размер меня всегда поражал. 0.6, 1, 5 и даже 10 мегабайт!!! А программки то — тьфу, явно не офис или что-то громоздкое. Вот и решил я написать статью, как правильно оптимизировать свой проект так, чтоб не было казусов: программа должна 2 числа +,-,/,* а занимает места больше чем 400 Кб

1. Надо учесть для чего пишется программа, если она что-то должна выполнить, и закрыться (ничего не отображая), то не надо писать так Form1.visible:=false. Надо полностью удалить форму (View\Project Manager\Ваш проект\Unit1 и нажать кнопку Удалить. Так же, в данном случае, можно использовать Win API. Процесс создания форм, кнопок достаточно сложен (по сравнению с обычным методом), но достаточно эффективен.

2. Непосредственно настроить компилятор (программа получится с максимальным быстродействием). Заходим в меню Project\Options, заходим на вкладку Compiler и убираем все галочки из Runtime errors и Debugging. Внимание! Это можно безбоязненно делать лишь в том случает, когда Ваша программа полностью отлажена, и обработку всех исключительных ситуаций Вы учли.

3. Настройки пакетов (самый важный пункт ). Заходим в меню Project\Options, заходим на вкладку Packages. Ставим флажок Build with runtime packages. И смотрим, что у нас в строке там написано (Вот мой список: vcl; rtl; indy; vclx; dbrtl; vcldb; bdertl; vclie; vclshlctrls; IntrawebDB_50_70; Intraweb_50_70; Rave50CLX; Rave50VCL; dclOfficeXP; IcsDel50;inet;xmlrtl; inetdbbde; inetdbxpress; dsnap; dsnapcon; soaprtl; VclSmp; webdsnap; websnap; ibxpress; vclactnband; visualclx; visualdbclx; dbexpress; dbxcds; inetdb; vcldbx; adortl; teeui; teedb; tee; dss).О боже, скажете Вы, если узнаете: ВСЁ что в этой строке по умолчанию компилируется в ваш проект! После пары манипуляций там остаётся: vcl и всё. Внимание! Если у Вас уже куча компонентов, т.е. у Вас уже есть написанная программа, не удаляйте всё сразу, если Вы удалите что-то нужное, то во-первых размер программы увеличится, а во-вторых программа может не работать на других ПК. Если Вы что-то нечаянно удалили, или хотите добавить, то нажмите кнопку Add… и добавите нужный пакет. P.S.: После этих преобразований, скомпилированный пустой проект занимает 16,5 Кб. Всё же не 300…
4. Если ваша программа редко использует какие либо функции или процедуры, то вынесите их в DLL файл, чтоб память не засоряли (хотя сейчас это и не так важно, памяти оперативной “куча” 1 — 2 гигабайта это уже не редкость, но всё же это подчеркнёт Ваш профессионализм).
5. Если Ваша программа использует графические данные, звуки, видео, и всё это в достаточном кол-ве, то не надо создавать файлы ресурсов, они всё равно скомпилированы в 1 exe-файл. Лучше создать специальную папку вместе с программой (ну как в играх многих например DATA) и держать их там, конечно есть минус — если переносить программу, то и файлы надо переносить за собой, но есть плюс — динамически использовать все эти данные, т.е. если вам надо в Image вывести картинку, то при загрузке программы не надо сразу загружать этот рисунок, а загрузить только тогда, когда, например, будет открыта форма с этим Image или пользователь что-то нажмёт.

Дополнение: в настоящее время появилась новая библиотека для делфи KOL + MCK с их помощью можно создавать приложения с размером 50-100кб (как в С++), без всякого усечения и убирания пакетов.

 

Интересное

Выпадающие меню с помощью CSS
Каждый, кому хоть раз приходилось создавать выпадающие меню, знаком с тем, какое количество скриптов требуется для этого. Между тем, используя грамотно структурированный HTML-код и несложные...
Подробнее...
Delphi и Flash. Совмещение...
Разве возможно совместить Флэш-ролики и Дельфи-приложения. Раньше я думал что НЕТ. Но теперь я знаю не только, что это возможно, но и знаю как это делается!!! И сейчас я вам расскажу об этом....
Подробнее...
Пишем описания и титлы
Как же повысить эффективность регистрации в каталогах? Ну, во-первых, регистрировать только в беляках (каталоги не требующие за размещение обратной ссылки или денег), во-вторых, использовать как...
Подробнее...
Алгоритмы определения...
Перевод тезисов из статьи Аарона Уолла, посвященной сравнению ведущих поисковых машин англоязычного сектора Интернета — Yahoo!, MSN Search, Google и Ask.
Подробнее...
Стандарт доступности...
По мере роста аудитории Интернета, вопрос цифрового равенства становится все более важным. Пользователи с ограниченными возможностями не должны быть лишены доступа к содержимому сайтов в...
Подробнее...
Обзор Windows XP Service...
На прошлой неделе Microsoft выпустила Release Candidate 1 (RC1) версию Windows XP Service Pack 3 (SP3). Windows XP SP3 станет последним аккордом долгой песни так полюбившейся Windows XP.Для меня...
Подробнее...
Увеличиваем быстродействие...
Однако, по умолчанию, вне зависимости от установленного объема памяти, Windows XP нерационально использует дополнительный объем памяти, что значительно ограничивает производительность системы в...
Подробнее...
Алгоритмы определения...
Перевод тезисов из статьи Аарона Уолла, посвященной сравнению ведущих поисковых машин англоязычного сектора Интернета — Yahoo!, MSN Search, Google и Ask.
Подробнее...
Установка Windows
Как поставить XP? Есть несколько способов. Во-первых, если ваш CD с дистрибутивом похож на тот, что выпускается Microsoft, то он должен быть бутовым (загрузочным). Чтобы загрузиться с него надо в...
Подробнее...
Флэшка или чудо будущего...
Могли ли бы мы раньше, при союзе, представить себе то, что устройство размерами меньшее, чем коробок спичек способно уместить в себе картинную галерею, архив деловой переписки или музыкальный...
Подробнее...