Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];

Вниз

Размер exe   Найти похожие ветки 

 
E_   (2004-12-12 22:41) [0]

Здраствуйте.
Скажите пож., почему размер проекта все равно
большой, хотя не исп. uses forms.
Вот вариант:

program KSM;
uses
windows,
Dialogs,
SysUtils;
var
h: THandle;
Load:procedure;
begin
h := LoadLibrary("lib\Spl.iml");
if h = 0 then
ShowMessage(" Файл не найден!")
else
begin
try @Load := GetProcAddress(h, "Load");
if @Load <> nil then
Load;
except
on E: Exception do
ShowMessage("Ошибка инициализации библиотеки!");
end;
FreeLibrary(h);
end;
end.

Если можно уменьшить размер, то как сделать?
Спаcибо.


 
GuAV ©   (2004-12-12 23:01) [1]

E_   (12.12.04 22:41)
Dialogs,


Это использует Forms.

Можно убрать Dialogs, заменить ShowMessage на MessageBox .


 
i-s-v ©   (2004-12-12 23:49) [2]


> Если можно уменьшить размер, то как сделать?

Утилита запаковки ЕХЕ-файла:
http://upx.sourceforge.net/


 
SergP ©   (2004-12-12 23:53) [3]


>  [2] i-s-v ©   (12.12.04 23:49)
>
> > Если можно уменьшить размер, то как сделать?
>
> Утилита запаковки ЕХЕ-файла:
> http://upx.sourceforge.net/


Щас придет АП и обматюкает с ног до головы за такие советы... :-)


 
Gero ©   (2004-12-12 23:56) [4]


> Щас придет АП и обматюкает с ног до головы за такие советы

И правильно сделает.

> uses
> Dialogs,
> SysUtils;

Выкинуть нафиг.


 
i-s-v ©   (2004-12-13 00:07) [5]


> Выкинуть нафиг.

Это и до меня сказали:)


 
Игорь Шевченко ©   (2004-12-13 00:23) [6]

Gero ©   (12.12.04 23:56) [4]

SysUtils оставить.

С уважением,


 
Bobby Digital ©   (2004-12-13 00:39) [7]

Используй прогу ASPack пргга для ужимки файлов ... суперскал прога 500 кб после архиваци  будет занимать где-то 250 кб


 
GuAV ©   (2004-12-13 00:41) [8]

Bobby Digital ©   (13.12.04 0:39) [7]
Используй прогу ASPack пргга для ужимки файлов ... суперскал прога 500 кб после архиваци  будет занимать где-то 250 кб


За такое матюкать нужно больше чем за
i-s-v ©   (12.12.04 23:49) [2]
Утилита запаковки ЕХЕ-файла:
http://upx.sourceforge.net/


, т.к. она ещё и не распаковывается.


 
i-s-v ©   (2004-12-13 00:43) [9]


> Используй прогу ASPack пргга для ужимки файлов ... суперскал
> прога 500 кб после архиваци  будет занимать где-то 250 кб

Хоть ASPack и русский, но UPX лучше запаковывает :) К тому же, UPX бесплатный...


 
sniknik ©   (2004-12-13 00:55) [10]

какая разница, хоть ASPack хоть UPX или другие упаковщики, все одно это отстой, мешают системе... (только не надо рекламных проспектов с сайтов их разработчиков, лучше посмотрите независимые описания, на сайте Анатолия Подгорецкого по моему есть) а пользы от них нет (ну не считать же пользой экономию 200-300кб дискового пространства на 80ти гиговом диске... смешно).


 
Bobby Digital ©   (2004-12-13 00:58) [11]


> sniknik ©  

при чем тут экономия про 80 гб диске? А если ты незаметно от юзера шлешь ему это прогу через сеть? тут уз есть раница


 
Gero ©   (2004-12-13 00:59) [12]


> Игорь Шевченко ©   (13.12.04 00:23)

SysUtils прибавляет к exe килобайт 8-10, если не ошибаюсь.

> Bobby Digital ©   (13.12.04 00:58)

http://podgoretsky.com/ftp/Docs/Misc/ExePack/ExePack.html


 
i-s-v ©   (2004-12-13 01:08) [13]


> тут уз есть раница

Вири слать?...


 
GuAV ©   (2004-12-13 01:08) [14]

Gero ©   (13.12.04 0:59) [12]
SysUtils прибавляет к exe килобайт 8-10, если не ошибаюсь.


E_   (12.12.04 22:41) [0]
on E: Exception do


в SysUtils объявлен класс Exception.

Без SysUtils сисетмные ошибки не будут преобразованы в исключения.

Хотя IMHO исключение может возникнуть только в Load.


 
Bobby Digital ©   (2004-12-13 01:09) [15]


> i-s-v ©  

необязательно ... может что-то полезное только незаметно :)


 
Gero ©   (2004-12-13 01:11) [16]


> GuAV ©   (13.12.04 01:08)

Если размер критичен, все это не так важно.


 
sniknik ©   (2004-12-13 01:20) [17]

все что незаметно то вири, трояны и спам..., а если не назаметно то тот же rar сожмет дучше.


 
Anatoly Podgoretsky ©   (2004-12-13 01:23) [18]

Bobby Digital ©   (13.12.04 00:58) [11]
Конечно есть, если пользователь заметит, то может и морду набить.


 
i-s-v ©   (2004-12-13 01:24) [19]


> может что-то полезное только незаметно :)

Полезные вири?:)


 
Bobby Digital ©   (2004-12-13 01:27) [20]

да как позезные, защищают комп от вредных вирусов, как мыло Safeguard


 
sniknik ©   (2004-12-13 01:29) [21]

примерно то же что по уже приведенной ссылке, немного полнее
http://www.limtu.ru/vt/zone/gold2/pub/komp.htm


 
Anatoly Podgoretsky ©   (2004-12-13 01:35) [22]

К тому же там не рассмотрен такой тонкий момент, как запуск нескольких копий программ и особенно библиотеки. Ситуацие ухудщится еще в большей степени.


 
Юрий Зотов ©   (2004-12-13 05:16) [23]

Учитывая, что что в этом коде исключение может возникнуть только в Load (см. [14]), а также учитывая, что в конструкции

try
...
except
 on E: Exception do
   ...
end;

подчеркнутая строка на фиг не нужна, SysUtils можно тоже выкинуть. Тогда после замены ShowMessage на MessageBox и выкидывания Dialogs (см. [1]), эта программа будет весить килобайт так 15. Видимо, все проблемы на этом и закончатся.


 
Fay ©   (2004-12-13 05:49) [24]


>if h = 0 then
> ShowMessage(" Файл не найден!")

Довольно смелое заявление


 
Игорь Шевченко ©   (2004-12-13 13:25) [25]

Gero ©   (13.12.04 00:59) [12]


> SysUtils прибавляет к exe килобайт 8-10, если не ошибаюсь.


И избавляет от геморроя.

С уважением,


 
Gero ©   (2004-12-13 17:58) [26]


> И избавляет от геморроя.

Точно так же можно сказать, допустим, про Forms.


 
Хакер ©   (2004-12-13 21:33) [27]

я ВСЕГДА прогу UPX сжимаю - глюков НИКОГДА не было !!!
- смело пакуй !


 
Piter ©   (2004-12-13 23:07) [28]

Игорь Шевченко ©   (13.12.04 0:23) [6]
SysUtils оставить.


А я бы выкинул...

SysUtils прибавляет к exe килобайт 8-10, если не ошибаюсь.

по-моему, килобайт 40. Если не ошибаюсь...

Игорь Шевченко ©   (13.12.04 13:25) [25]
> SysUtils прибавляет к exe килобайт 8-10, если не ошибаюсь.

И избавляет от геморроя.


какого?

С уважением, Piter


 
Palladin ©   (2004-12-13 23:20) [29]

У меня прибавил ровно 30Kb, D6. В SysUtils много нужных рутинных инструментов + Exception и по этому он стоит своих тридцати...


 
sniknik ©   (2004-12-13 23:21) [30]

Хакер ©   (13.12.04 21:33) [27]
а кто про глюки говорил? почитай статьи. просто если на феррари к примеру только со скоростью 40км в час ездить можно (а если 2 рядом то 20км... а в гонке из 30 машин лидирует черепаха...), то это тоже не поломка... но все же чтото не то, явно...


 
dr Tr0jan   (2004-12-14 09:29) [31]

Как говорится, "пакуй - не пакуй, все равно получишь ..."


 
Игорь Шевченко ©   (2004-12-14 10:05) [32]

Piter ©   (13.12.04 23:07) [28]

Работа с исключениями, много полезных функций.

С уважением,


 
Piter ©   (2004-12-14 12:19) [33]

Игорь Шевченко ©   (14.12.04 10:05) [32]
Работа с исключениями


Ну когда работаешь с WinApi исключения практически не нужны, ибо WinApi функции не генерирует дельфовые исключения. А если ты работаешь не с WinApi и у тебя подключены другие юниты, типа Forms, Classes - то SysUtils и так подключен.

много полезных функций

нужные функции можно вынести в отдельный модуль, типа SimpleSysUtils :)

Это все конечно для маленькой утилиты на WinApi, для серьезного приложения все это не актуально...


 
Игорь Шевченко ©   (2004-12-14 14:15) [34]


> Ну когда работаешь с WinApi исключения практически не нужны,
> ибо WinApi функции не генерирует дельфовые исключения


Я не совсем понял - разве исключения только генерируются функциями ? Во-первых с ними удобнее работать, так как пропадает нужда каждый раз проверять коды возврата, во вторых, Access Violation - тоже исключение.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.033 c
3-1101895067
Zloy_dima
2004-12-01 12:57
2004.12.26
SQL запрос


4-1100194977
ruzan
2004-11-11 20:42
2004.12.26
usb


14-1102081238
Alhimik
2004-12-03 16:40
2004.12.26
Телефон представительского класса от 15000


1-1103056913
Zilog
2004-12-14 23:41
2004.12.26
Интерисует как можно сделать панель типа "Microsoft Office".


3-1101714110
nstur
2004-11-29 10:41
2004.12.26
Как определить обязательное поле или нет?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский