Modulo 2. Uso di COM nel programma Windows-Based
Il modulo 1 di questa serie ha illustrato come creare una finestra e rispondere ai messaggi di finestra, ad esempio WM_PAINT e WM_CLOSE. Il modulo 2 introduce il modello COM (Component Object Model).
COM è una specifica per la creazione di componenti software riutilizzabili. Molte delle funzionalità che verranno usate in un programma moderno basato su Windows si basano su COM, ad esempio:
- Grafica (Direct2D)
- Testo (DirectWrite)
- Shell di Windows
- Controllo barra multifunzione
- Animazione dell'interfaccia utente
Alcune tecnologie in questo elenco usano un subset di COM e pertanto non sono "pure" COM.
COM ha una reputazione per essere difficile da imparare. È vero che la scrittura di un nuovo modulo software per supportare COM può essere difficile. Tuttavia, se il programma è strettamente un consumer di COM, si potrebbe notare che COM è più facile da comprendere di quanto previsto.
Questo modulo illustra come chiamare LE API basate su COM nel programma. Descrive anche alcuni dei motivi alla base della progettazione di COM. Se si capisce perché COM è progettato così com'è, è possibile programmare con esso in modo più efficace. La seconda parte del modulo descrive alcune procedure di programmazione consigliate per COM.
COM è stato introdotto nel 1993 per supportare Object Linking and Embedding (OLE) 2.0. Persone talvolta pensare che COM e OLE siano la stessa cosa. Questo può essere un altro motivo per la percezione che COM è difficile da imparare. OLE 2.0 è basato su COM, ma non è necessario conoscere OLE per comprendere COM.
COM è uno standard binario, non uno standard linguistico: definisce l'interfaccia binaria tra un'applicazione e un componente software. Come standard binario, COM è indipendente dal linguaggio, anche se esegue il mapping naturale a determinati costrutti C++. Questo modulo si concentrerà su tre obiettivi principali di COM:
- Separazione dell'implementazione di un oggetto dalla relativa interfaccia.
- Gestione della durata di un oggetto.
- Individuazione delle funzionalità di un oggetto in fase di esecuzione.
Contenuto della sezione
- Che cos'è un'interfaccia COM?
- Inizializzazione della libreria COM
- Codici di errore in COM
- Creazione di un oggetto in COM
- Esempio: finestra di dialogo Apri
- Gestione della durata di un oggetto
- Richiesta di un oggetto per un'interfaccia
- Allocazione di memoria in COM
- Procedure di codifica COM
- Gestione degli errori in COM
Argomenti correlati