Modul 2. Použití COM ve vašem programu Windows-Based
Modul 1 této série ukázal, jak vytvořit okno a reagovat na zprávy oken, jako jsou WM_PAINT a WM_CLOSE. Modul 2 představuje model COM (Component Object Model).
Com je specifikace pro vytváření opakovaně použitelných softwarových komponent. Řada funkcí, které budete používat v moderním programu založeném na Windows, závisí na modelu COM, například následující:
- Grafika (Direct2D)
- Text (DirectWrite)
- Prostředí Windows
- Ovládací prvek Pás karet
- Animace uživatelského rozhraní
(Některé technologie v tomto seznamu používají podmnožinu modelu COM, a proto nejsou "čisté" COM.)
COM má pověst, že je obtížné se naučit. A je pravda, že psaní nového softwarového modulu pro podporu modelu COM může být složité. Pokud je ale váš program výhradně spotřebitel modelu COM, můžete zjistit, že com je srozumitelnější, než očekáváte.
Tento modul ukazuje, jak volat rozhraní API na bázi COM ve vašem programu. Popisuje také některé důvody návrhu modelu COM. Pokud víte, proč je com navržen tak, jak je, můžete s ním programovat efektivněji. Druhá část modulu popisuje některé doporučené programovací postupy modelu COM.
Com byl představen v roce 1993 pro podporu objektového propojení a vkládání (OLE) 2.0. Lidé si někdy myslí, že COM a OLE jsou totéž. To může být dalším důvodem vnímání, že COM je obtížné naučit se. OLE 2.0 je postaven na COM, ale nemusíte znát OLE, abyste pochopili COM.
COM je binární standard, nikoli jazykový standard: Definuje binární rozhraní mezi aplikací a softwarovou komponentou. Jako binární standard je com jazykově neutrální, i když mapuje přirozeně na určité konstrukty jazyka C++. Tento modul se zaměří na tři hlavní cíle modelu COM:
- Oddělení implementace objektu od jeho rozhraní.
- Správa doby života objektu
- Zjišťování možností objektu za běhu
V této části
- Co je COM rozhraní?
- Inicializace COM knihovny
- Kódy chyb v modelu COM
- Vytvoření objektu v modelu COM
- Příklad: Dialogové okno Otevřít
- správa doby života objektu
- dotazování objektu na rozhraní
- přidělení paměti v modelu COM
- postupy kódování modelu COM
- Zpracování chyb v COM
Související témata