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

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

Замена юнита Forms на аналоги API [D6, WinXP]


Unforseen ©   (2004-02-04 18:58:00) 

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

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

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

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

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


Akvilon   (2004-02-06 23:57:00) [1]

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


Cobalt   (2004-02-06 22:19:00) [2]

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


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

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


akvilon   (2004-02-05 23:43:00) [4]

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

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


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

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


Akvilon   (2004-02-04 20:43:00) [6]

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


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

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


jack128   (2004-02-04 19:11:00) [8]

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

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


Наверх

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