Вниз
Скачать: CL | DM;

Как уменьшить размер ехе-шника без визуальных компонентов   Найти похожие ветки 

← →
Yong ©   (2004-04-08 23:20) [0]

Прога без визуальных компонентов в откомпиленом виде весит 283К. Если кто знает почему, и что можно с этим сделать, скажите пожалуйста, а?


← →
Yanis ©   (2004-04-08 23:22) [1]

Ничего ты не сделаешь. Ты скорее всего функции всякие используешь в программе, а они объявлены в других модулях типа windows и др.
Да если даже и не используешь в программу всёравно запихиваются всякие там стринги и прочая "дрянь".
Поэтому ASSEMBLER тебе в помошники :)


← →
Gero ©   (2004-04-08 23:25) [2]

program Project1;
uses
 Windows;
begin
 MessageBox(0, "Hello!", "Hello!", MB_OK);
end;

Скомпилируйте и посмотрите размер. Yanis © - Вы тоже.


← →
Yong ©   (2004-04-08 23:29) [3]

У меня там еще Forms.pas используется, так что наверное без вариантов, да?


← →
Diamond Cat ©   (2004-04-08 23:30) [4]

кроме редактирования uses-ов можно пднастроить компилятор и повытирать иконки из ресурсного файла (копейка рубль бережет)


← →
sniknik ©   (2004-04-08 23:31) [5]

Forms как раз самый что ни на есть визальнейший компанент.


← →
Yanis ©   (2004-04-08 23:33) [6]

Это вроде не компонент!?

To [2]
:)

To Yong ©   (08.04.04 23:29) [3]
Если не секрет почему так размер важен?


← →
Yong ©   (2004-04-08 23:38) [7]

А Screen - это визуал?

to Yanis © Да просто текста там три строчки, и визуалов вроде нет, а весит че-то много.


← →
Yanis ©   (2004-04-08 23:51) [8]

Всё что ты пишешь в редакторе это ничто иначе как текст.
А весь текст тире код программы переводится на ASM. Вот и размер растёт.

Так что за програ с супер малым размером ? Пакость что ли какая?


← →
Yong ©   (2004-04-08 23:59) [9]

Янису: Прога скриншотит десять кадров десктопа с небольшим интервалом.


← →
Yanis ©   (2004-04-09 00:11) [10]

А как скриншоты делаешь? Я думаю можно и на ASSEMBLER зафигачить :)


← →
Yong ©   (2004-04-09 00:15) [11]

Янису:  BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, GetDC(GetDesktopWindow), 0, 0, SRCCopy);
// а ассемблер я херово знаю


← →
Yong ©   (2004-04-09 00:22) [12]

Всем спасибо!


← →
Yanis ©   (2004-04-09 00:25) [13]

Если сделаю то на мыло скину. А какой минимальный размер exe?


← →
Gero ©   (2004-04-09 00:28) [14]

Screen.Width = GetSystemMetrics(SM_CXSCREEN)
Screen.Height = GetSystemMetrics(SM_CYSCREEN)


← →
Yanis ©   (2004-04-09 00:30) [15]

To Gero [14]
???


← →
Gero ©   (2004-04-09 00:32) [16]

> ???

Что именно не понятно?


← →
Yanis ©   (2004-04-09 00:39) [17]

Это к чему?


← →
_Sh_   (2004-04-09 00:39) [18]

Если в проге у тебя подключены такие модуля как Forms, Graphics, Dialogs, Controls и т.п., то к твоей проге в автомате цепляется TApplication и всё что с ним связано (даже если явно ты нигде его не юзаешь) - вот они твои 200 с фигом килобайт. Убери Screen и Bitmap-ы, перепиши на WinAPI или KOL - получишь спартанский размер.


← →
Gero ©   (2004-04-09 00:41) [19]


>  [17] Yanis ©   (09.04.04 00:39)
> Это к чему?

Это к [7] и [11].


← →
_Sh_   (2004-04-09 01:05) [20]

На худой конец можно пожать EXE-шник пакером типа UPX или ASPack, но это на самый крайний случай.


← →
Fay ©   (2004-04-09 01:16) [21]

2Yanis ©   (08.04.04 23:33) [6]

> Это вроде не компонент!?

А что это?


← →
_Sh_   (2004-04-09 01:22) [22]

TForm - компонент, но Forms - модуль!


← →
Yanis ©   (2004-04-09 01:22) [23]

По твоему это компонент? Ну это вроде модуль с объявлениями классов и др.


← →
Anatoly Podgoretsky ©   (2004-04-09 10:41) [24]

200 кб на винчестере не хватает, так соотри что ни будь, или это психологическая проблема - глаза режет?



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

Скачать: CL | DM;



Память: 0.5 MB
Время: 0.022 c
9-1066558051
Timur
2003-10-19 14:07
2004.04.25
Counter-strike map


1-1081254208
hgd
2004-04-06 16:23
2004.04.25
Перемещение компонента внутри другого


1-1081494743
galexis
2004-04-09 11:12
2004.04.25
Как задать диапазон в excel числами?


1-1081524574
Triny
2004-04-09 19:29
2004.04.25
динамические переменные


1-1081451762
Relaxxx
2004-04-08 23:16
2004.04.25
Ошибка в Delphi7, в компоненте ActionManager при нажатии на ....




   Наверх