Objectifs de la formation
Les participants seront capables de concevoir des objets COM Windows utilisant les M.F.C. ou Visual Basic. Ils comprendront les bases et le fonctionnement de l’architecture COM et les développeront avec les outils Microsoft Visual Studio, C++, Visual Basic. Introduction à la programmation Win32, introduction aux concepts de P.O.O. (programmation orientée objet), l’architecture COM/DCOM, Conception d’objets COM, Conception de DLLs ActiveX, Conception de containers et de serveurs OLE, Concevoir de contrôles ActiveX en C++ et en Visual Basic.
Prérequis
Bonne connaissance du langage C++. La connaissance de Visual Basic ou des M.F.C. serait un plus.
Programme
Introduction au développement d’applications sous Windows
- Win16, Win32 : explication Mulltitâche sous NT et 95, préemption des tâches Processus et threads ( multitâche ) Gestion de la mémoire 32 bits La gestion des événements Fonctions CALLBACK Fichiers mappés, DDE, OLE, COM, ActiveX Rôle et fonctionnement des DLLs Architecture de Windows Glossaire des termes en développement Windows
L’architecture COM et DCOM, OLE, ActiveX
- Principe de COM et DCOM Présentation des containers et serveurs OLE Présentations des ActiveX Impact sur les registres de Windows Classes et instanciation : agrégation et inclusion Les objets COM In-Process Local Machine ou Distributed Les interfaces des objets COM L’interface IUnknown L’interface IDispatch, Automation Les interfaces DUAL. Les proxys Microsoft. DCOM et RPC (Remote Procedure Call) Concevoir un objet COM
Les objets COM
- Créer un serveur COM minimum Implémenter QueryInterface, AddRef et Release Utiliser son interface IUnknown Localiser un objet COM avec les API Win32 Instancier un objet COM avec les API Win32
Les containers OLE avec les MFC
- Principe des containers OLE Créer un container OLE avec les MFC Utilisation de AppWizard et ClassWizard Utiliser Automation pour piloter les serveurs
Les serveurs OLE avec les MFC
- Principe des serveurs OLE Créer un serveur OLE avec les MFC Différence entre mini-serveurs et full-serveurs Exporter des méthodes et des propriétés Lien et encapsulation
Concevoir un ActiveX DLL avec les MFC
- Principe des ActiveX DLLs Création d’une DLL avec AppWizard Les points d’entrées Enregistrement et des enregistrement d’une DLL Le fichier IDL Ajouter un fichier IDL Utilisation de regsvr32 Créer un container pour instancier une DLL MFC
Concevoir un ActiveX DLL avec ATL COM
- Rappel sur les templates C++ Avantages et inconvénients de créer des ActiveX avec ATL COM Les passages de paramètres Création d’une DLL avec la bibliothèque ATL COM : Wizard Utilisation de l’assistant pour rajouter des objets COM. Les points d’entrées Le fichier IDL. Ajouter un fichier IDL Créer un container pour instancier une DLL ATLCOM
Les contrôles ActiveX avec les MFC
- Principe des contrôles ActiveX Les méthodes , propriétés et événements Interaction avec le container L’utilitaire ” ActiveX Control Test Container ” Création avec les MFC et ” Control Wizard ” Ajouter une page de propriété Sous classer des contrôles existants Les classes ” wrapper ” Création d’un container de contrôle activex avec les MFC Le lien avec d’autres container comme Visual Basic 5
Concevoir un contrôle ActiveX pour Internet avec ATL COM
- ATL COM et les contrôles ActiveX Principe des contrôles ActiveX pour Internet Utilisation avec l’Explorer de Microsoft Création du contrôle avec Visual C++ Création d’un lien HTML L’assistant de création de contrôle ActiveX pour Internet Utilisation de Vbscript pour inter agir Instanciation dans une page HTML
- Création d’un contrôle ActiveX pour Internet
Touche finale
- Créer une procédure d’installation des ActiveX Distribuer les logiciels Impact sur les registres du système Optimisez vos logiciels
Travaux Pratiques
Il s’agit d’un cours avec une grande part consacrée aux travaux dirigés (plus de 50% du cours). Ce cours détaille dans un premier temps l’architecture COM. Les objets COM générés sont créés en C++ ou avec Visual Basic. Les stagiaires auront le choix d’utiliser soit VB, soit C++, soit les deux.
Thèmes : Développement Windows