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

Замена юнита Forms на аналоги API   Найти похожие ветки 

 
Unforseen   (2004-02-04 18:58) [0]

Приветствую!

У меня есть DLLка, размер критичен, посему хотелось бы исключить из uses юнит Forms (который увеличивает длл-ку приблизительно в 350 раз), НО в этом самом юните содержиться крайне необходимая вещь, название которой - Aplication.ProcessMessages.

Вопрос: есть ли какая-нибудь надежда обойтись без этого громоздкого модуля и выехать на АПИ? Буду очень благодарен за пример.

Спасибо за внимание.

PS. И так вся длл-ка на апи, 10Кб всего - противно подключать из-за одной процедуры 350+Кб воды.


 
jack128 ©   (2004-02-04 19:11) [1]

Ты уверен, что это единственная вешь, которую ты импользуешь из Forms ?
Ну примерно так

 while PeekMessage (MSG, 0, 0, 0, PM_REMOVE) do
 begin
    TranslateMessage (MSG);
    DispatchMessage (MSG);
 end;


 
Unforseen   (2004-02-04 19:48) [2]

Во, так уже лучше! Спасибо большое!
Осталось обойтись без юнита Windows - и готово :)


 
Akvilon ©   (2004-02-04 20:43) [3]

Какой смысл выбрасывать unit Windows? ведь в нем только апи функции и, к тому же, он никоим образом не увеличивает размер исполняемого файла (за счет "воды").


 
Unforseen   (2004-02-05 21:04) [4]

В общем-то, да... Я просто не стал включать то, что могу сам подписать - т.е. если я использую 3-4 АПИ-функции весь модуль как-то ни к чему 8)


 
akvilon ©   (2004-02-05 23:43) [5]

/Unforseen   (05.02.04 21:04) [4]/

Делфи включит в проект только использованные функции этого модуля. Мне кажется не удобным самому вписывать те же строки ...


 
Unforseen   (2004-02-06 21:46) [6]

Согласен, неудобно.
Но что-то оптимизация в этом плане работает не очень хорошо. Взять хотя бы иначальный Apllication.ProcessMessages - я абсолютно точно знаю, что мне нужно только эта процедура, дельфи же решает, что неплохо бы довесить все остальное. А остального-то надо в данном случае - модуль windows с АПИшками, так нет - извольте 350 Кб.
Может где-что подстроить надо? Optimization вроде включена...


 
Cobalt ©   (2004-02-06 22:19) [7]

А вы посмотрите - что включает в себя модуль Forms, и что делается во включаемых модулях в их секциях initialization.


 
Akvilon ©   (2004-02-06 23:57) [8]

и finalization ......
а windows.pas голый в этом смысле



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

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



Память: 0.46 MB
Время: 0.026 c
14-1079119110
ДухКороляАртура
2004-03-12 22:18
2004.04.11
Delphi 8


4-1078824354
X9
2004-03-09 12:25
2004.04.11
Вопрос при запуске exe-шников из Internet Explorer а


1-1080138951
Marina
2004-03-24 17:35
2004.04.11
Как вывести строку из DLL


6-1075815393
Davey
2004-02-03 16:36
2004.04.11
*Сетевые соединения процессов*


11-1051875935
MaximusXP
2003-05-02 15:45
2004.04.11
Интерфейс в стиле ХР




   Наверх