Що таке VCL? Компоненти VCL об’єкти спрощують програмування, кожний об’єкт містить безліч функцій, яких в додатку використовується від сили відсотків 10, а компілятор слухняно стикує всі бібліотеки з усім їх потрібним і не дуже вмістом.

Спробуємо створити додаток без використання VCL. Для цього спочатку необхідно видалити візуальну форму. View -> Project Manager, там видаляємо Unit1. Тепер весь код буде писатися у вихідному коді проекту. Project -> View Source. По ідеї =) ви повинні побачити такий код:

Program Project1;

Uses Forms;

{$R *.res}

Begin
Application.Initialize;
Application.Run;
End.

Тепер откомпилируем наш проект комбінацією Ctrl+F9, потім Project->Information for Project1 ми бачимо, що було откомпилировано всього 13 рядків(Source compiled), а ось важить все це задоволення аж ніяк ні на 13 рядків, а всі 309408 байтів(Code Size), тобто всі 300 Кбайт.

Деякі програмісти вважають, що для підвищення продуктивності необхідно відмовитися від використання пакетів. Вибираємо Project->Options потім закладку Packages і ставимо галочку навпроти Build with runtime packages. Тепер знову компілюємо проект т дивимося інформацію про немвпечатляет, так? Тепер замість 309408 ми бачимо 2168 байтів, АЛЕ подивіться у вікно інформації в область Packages Used(Використовувані пакети), там перераховані файли, які необхідні для працездатності програми. У нашому прикладі це файли rtl70.bpl і vcl70.bpl. Це своєрідні динамічні бібліотеки без яких програма працювати не буде. Виходить, що ми зовсім не звільнили програму візуалізації і вона все ще використовується.
Тобто тепер загальний розмір файлів необхідно встановити на машину користувача = ваших файлів + необхідних bpl-файлів. Ці bpl-файли лежать в Windows/System32, їх розмір становить 2159616 байт, так що в підсумку розмір програми набагато збільшився, отже, роблячи висновки ми прибираємо у властивостях проекту прапорець з Build with runtime packages і спробуємо придумати що-небудь ще.
У вихідному коді проекту видаліть розділ uses і все, що знаходиться між begin і end, у Вас повинен залишитися ось такий код:

Program Project1;
{$R *.res}
Begin
End.

Спробуйте відкомпілювати проект і подивитися інформацію, ми бачимо, що тепер розмір становить 9124 байт, замість 300 Кіл. Чому так? Та тому, що у нас між begin і end були виклики методів об’єкта TApplication, для цього в розділ uses необхідно підключати модуль Forms. Forms входить до складу VCL, з-за цього до програми підключається код, який насправді нами і не використовується.
Проведемо експеримент. Після рядка program Project1; додамо рядок uses buttons; откомпилируем і переглянемо інформацію про проект і побачимо, що розмір збільшився до 309024 байт, а тепер замість buttons напишемо windows і побачимо, що тепер розмір буде складати 9252 байт. З чим це пов’язано? А з тим, що модуль buttons відноситься до VCL, а модуль windows до RTL.

В папці …….Delphi7Source в різних папках, вкладених за типами лежать вихідні коди всіх модулів, на даний момент нас цікавлять папки vcl і rtl.

На цьому ми і закінчимо. Сьогодні я показав, як зробити не візуалізоване додаток, а твоє завдання вже полягає в малому, знати безліч WinAPI-функцій і писати за допомогою них дуже маленькі, швидкі і надійні програми.

Вдалого Вам кодинга