Užitečné komponenty pro Delphi a C++ Builder, díl 27.

Také se vám nelíbí, že když vytvoříte v Delphi byť jen velmi jednoduchou aplikaci, zabírá vždy několik stovek kilobajtů ? S tím se bohužel nedá nic dělat, pokud použijete VCL. Jsou však i jiné možnosti...
Možností je hned několik. Ti pokročilejší z vás mohou použít například přímo programování pomocí API Windows. Výsledek je pak velmi dobrý a výsledný zkompilovaný soubor je oproti použití VCL nesrovnatelně menší. Vyžaduje to však již pokročilejší znalosti a práce je méně pohodlná.

Další z možností je použít nějakou knihovnu (či spíše knihovny), které se snaží původní VCL nahradit právě s cílem, aby výsledný soubor byl pokud možno co nejmenší. Jeden z těchto balíků knihoven si právě dnes představíme.

Key Objects Library & Mirror Classes Kit

Jedná se projekt ruského (pravděpodobně) autora jménem Vladimir Kladov, který obsahuje množinu objektů, pomocí nichž lze vytvořit aplikace bez použití VCL, a tím pádem výrazným způsobem zmenšit velikost výsledného zkompilovaného exe souboru.

Kromě základní knihovny, která tvoří jakési jádro celého projektu a má téměř 2 MB (což není zrovna málo), si můžete stáhnout ze stránek projektu další a další knihovny, které pokrývají jednotlivé oblasti původní VCL. Naleznete zde tak rovněž podporu pro grafiku, databáze, ActiveX a další a další.

Práce s těmito knihovnami je nevizuální, takže se jedná čistě o psaní zdrojového kódu, což jistým způsobem komplikuje práci. Toho si byl jistě vědom i sám autor, a proto byl kromě balíku KOL (Key Objects Library) vytvořen též balík MCK (Mirror Classes Kit), což je jakási nadstavba objektů KOL. Vlastně je to soubor vizuálních komponent, které "obalují" jádro KOL, a práce s nimi je tak prakticky stejná jako práce s VCL, tj. vizuální konstrukce aplikace pomocí formulářů a dalších prvků grafického rozhraní systému. Do tohoto nadstavbového balíku bylo pochopitelně nutné dostat co největší množství komponent, aby žádná původní komponenta z VCL nechyběla a nebyl tak problém vytvářet aplikace naprosto běžným způsobem. Najdeme zde tedy obdobu všech běžných vizuálních komponent, které pro původní VCL naleznete na záložce Standard a Aditional z palety komponent. Kromě toho jsou k dispozici též nevizuální komponenty, jako je Timer, MainMenu a PopupMenu, různé dialogy a další.

Ani to ale není vše. Stáhnout si můžete též další balík komponent, který není primárně součástí KOL; ten obsahuje dále komponenty pro práci se sítí, dále některé internetové komponenty, další dialogy a podobně. Vybere si jistě každý´, a pokud nepoužíváte vyloženě nějaké speciální komponenty, určitě v balíku najdete vše potřebné. Pochopitelně vám však nic nebrání i nadále používat své vlastní knihovny.

Práce s balíkem KOL a hlavně s jeho nadstavbou MCK má jistá drobná omezení a specifika (například v pojmenovávání objektů kvůli možné kolizi s VCL), ale vše je přehledně popsáno v připojeném souboru, takže ani zde by neměl vzniknout žádný problém.

Na samý závěr jsem si nechal to, co jsem možná měl napsat hned na začátek článku, tedy porovnání velikostí výsledného zkompilovaného souboru pomocí VCL a KOL. Na přiloženém obrázku vidíte jednoduchý formulář s několika málo vizuálními objekty. Byl vytvořen pomocí KOL a výsledný exe soubor má 83 kB. Prázdný formulář bez dalších komponent má jen 21 kB. Naproti tomu aplikace s úplně prázdným formulářem postavená na VCL má 363 kB (platí pro Delphi 6). Programátoři, kteří pracují přímo s API, zřejmě nejsou nijak zvlášť ohromeni, ale běžný "domácí" programátor, který je zvyklý na VCL, je doufám teď alespoň mírně zaujat a toto porovnání vás možná přesvědčí, abyste si balík vyzkoušeli. Zřejmě již nemá cenu připomínat, že vše je freeware a dodáno se zdrojovými kódy.

www
verze: liší se podle jednotlivých součástí
Delphi: 2 až 6
C++ Builder: ?

Diskuze (5) Další článek: První testy grafické karty Parhelia

Témata článku: Software, Programování, Download, DEL, Komp, Běžná práce, Komponenta, Původní objekt, Speciální komponent, Běžná součást, Díl, Timer, Přímá součást, Knihovna, Pohodlná práce, Mirror, Běžná aplikace


Určitě si přečtěte

Ubuntu 20.04: Zase vás chce přesvědčit, že je lepší než Windows

Ubuntu 20.04: Zase vás chce přesvědčit, že je lepší než Windows

** Britský Canonical před pár dny vydal novou verzi svého Ubuntu ** 20.04 LTS zapracovalo na grafickém desktopu, rychlosti i bezpečnosti ** V nitru tepe Linux 5.4 a volitelně i nový souborový systém

Jakub Čížek | 326

Je to dobré, cetky z AliExpressu budou nejspíše relativně levné i v roce 2021

Je to dobré, cetky z AliExpressu budou nejspíše relativně levné i v roce 2021

** V roce 2021 začneme platit DPH i u laciného zboží z asijských e-shopů ** Daň ale budeme většinou platit už na e-shopech ** Nemusíte se bát zdlouhavého a drahého celního řízení

Jakub Čížek | 69

Šmírování kamerami Googlu: Koukněte, co šíleného se objevilo na Street View

Šmírování kamerami Googlu: Koukněte, co šíleného se objevilo na Street View

Google stále fotí celý svět do své služby Street View. A novodobou zábavou je hledat v mapách Googlu vtipné záběry. Podívejte se na výběr nejlepších!

redakce


Aktuální číslo časopisu Computer

Megatest 21 grafických karet

AMD poráží Intel už i v notebooku

Jak vytvořit 3D fotky v mobilu

Nejlepší fotoaparáty do 30 000 Kč