Clients Automation : utilisation des bibliothèques de types
Les clients Automation doivent avoir des informations sur les propriétés et les méthodes des objets serveur si les clients doivent manipuler les objets des serveurs. Les propriétés ont des types de données ; les méthodes retournent souvent des valeurs et acceptent des paramètres. Le client nécessite des informations sur les types de données de tous ces types afin de lier statiquement le type d’objet serveur.
Ces informations de type peuvent être connues de plusieurs façons. La méthode recommandée consiste à créer une bibliothèque de types.
Pour plus d’informations sur MkTypLib, consultez le Kit de développement logiciel (SDK) Windows.
Visual C++ peut lire un fichier de bibliothèque de types et créer une classe dispatch dérivée de COleDispatchDriver. Un objet de cette classe a des propriétés et des opérations dupliquant celles de l’objet serveur. Votre application appelle les propriétés et les opérations de cet objet, et les fonctionnalités héritées des COleDispatchDriver
itinéraires de ces appels au système OLE, qui les acheminent à leur tour vers l’objet serveur.
Visual C++ gère automatiquement ce fichier de bibliothèque de types pour vous si vous avez choisi d’inclure Automation lors de la création du projet. Dans le cadre de chaque build, le fichier .tlb sera généré avec MkTypLib.
Pour créer une classe dispatch à partir d’un fichier de bibliothèque de types (.tlb)
Dans l’affichage de classes ou Explorateur de solutions, cliquez avec le bouton droit sur le projet, puis cliquez sur Ajouter une classe dans le menu contextuel.
Dans la boîte de dialogue Ajouter une classe , sélectionnez le dossier Visual C++/MFC dans le volet gauche. Sélectionnez l’icône Classe MFC à partir de TypeLib dans le volet droit, puis cliquez sur Ouvrir.
Dans la boîte de dialogue Ajouter une classe à partir de l’Assistant Typelib, sélectionnez une bibliothèque de types dans la liste déroulante Bibliothèques de types disponibles. La zone Interfaces affiche les interfaces disponibles pour la bibliothèque de types sélectionnée.
Remarque
Vous pouvez sélectionner des interfaces à partir de plusieurs bibliothèques de types.
Pour sélectionner des interfaces, double-cliquez dessus ou cliquez sur le bouton Ajouter . Lorsque vous le faites, les noms des classes de répartition s’affichent dans la zone Classes générées. Vous pouvez modifier les noms de classes dans la
Class
zone.La zone Fichier affiche le fichier dans lequel la classe sera déclarée. (vous pouvez également modifier ce nom de fichier). Vous pouvez également utiliser le bouton Parcourir pour sélectionner d’autres fichiers, si vous préférez avoir les informations d’en-tête et d’implémentation écrites dans des fichiers existants ou dans un répertoire autre que le répertoire du projet.
Remarque
Toutes les classes de répartition des interfaces sélectionnées seront placées dans le fichier spécifié ici. Si vous souhaitez que les interfaces soient déclarées dans des en-têtes distincts, vous devez exécuter cet Assistant pour chaque fichier d’en-tête que vous souhaitez créer.
Remarque
Certaines informations de bibliothèque de types peuvent être stockées dans des fichiers avec .DLL, . OCX, ou . Extensions de fichier OLB.
Cliquez sur Terminer.
L’Assistant écrit ensuite le code de vos classes de répartition à l’aide des noms de classes et de fichiers spécifiés.