Comment faire pour accéder à la chaîne de constructeur d'objet COM + dans un composant Visual Basic

Traductions disponibles Traductions disponibles
Numéro d'article: 271284 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Dans Microsoft Windows 2000, vous pouvez configurer une chaîne de constructeur d'objet unique pour chaque composant de bibliothèque dynamic-link (DLL) qui est installé dans le temps d'exécution COM +. Cette chaîne de constructeur est couramment utilisée pour spécifier une chaîne d'initialisation qui doit être accessible à toutes les instances d'objet du composant. Cet article inclut un exemple de code qui montre comment vous pouvez configurer la chaîne de constructeur d'objet COM + pour un composant Visual Basic qui permettent des instances d'objet du composant.

Plus d'informations

La chaîne de constructeur est couramment utilisée pour spécifier une chaîne de connexion de base de données que les instances d'objet d'un composant utilisent pour établir des connexions de base de données. Un avantage de l'utilisation de la chaîne du constructeur à cet effet est qu'il empêche la chaîne de connexion codée en dur dans le code du composant. Pour modifier le nom du serveur de base de données, pointez sur une autre base de données ou mettre en ?uvre d'autres modifications, vous devez uniquement modifier le constructeur du composant COM + objet ; vous n'avez plus à modifier le code du composant et recompilez la DLL réelle. Outre le stockage des informations de connexion de base de données, vous pouvez également utiliser la chaîne du constructeur d'objet COM + pour spécifier n'importe quelle chaîne d'initialisation qui doit être accessible à toutes les instances d'objet du composant pour lequel il est configuré.

Comment faire pour configurer la chaîne de constructeur d'objet COM +

Le composant Visual Basic doit implémenter l'interface IObjectConstruct COM + pour activer ses instances d'objet pour accéder à la chaîne constructeur COM + objet qui a été configurée pour elle. IObjectConstruct expose une méthode unique nommée Construct (IObjectConstruct_Construct) qui se déclenche lorsqu'une instance d'objet du composant est créée. Vous pouvez utiliser l'objet constructeur qui est passé en tant que paramètre à cette méthode pour obtenir la configuration COM + objet chaîne du constructeur. Pour implémenter un exemple qui illustre comment vous pouvez utiliser cette fonctionnalité, procédez comme suit :
  1. Ouvrez un nouveau projet ActiveX DLL dans Visual Basic.
  2. Renommez le projet «prjConstruct».
  3. Renommer le module de classe «clsConstruct».
  4. Définir les références de projet à la Bibliothèque de services COM + et ActiveX Data Objects 2.5 Library.
  5. Copiez et collez le code suivant dans le module de classe :
    'General Declarations Section
    Implements IObjectConstruct
    Dim connstr As String
    
    
    Private Sub IObjectConstruct_Construct(ByVal pCtorObj As Object)
    
    Dim mConstructString As IObjectConstructString
    Set mConstructString = pCtorObj
    connstr = mConstructString.ConstructString
    
    End Sub
    
    Public Function GetAuthors() As ADODB.Recordset
    
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    
    Set cn = New ADODB.Connection
    cn.Open connstr
    
    Set rs = New ADODB.Recordset
    rs.CursorLocation = adUseClient
    rs.Open "Select * from Authors", cn, adOpenStatic, adLockBatchOptimistic
    Set rs.ActiveConnection = Nothing
    
    Set GetAuthors = rs
    GetObjectContext.SetComplete
    
    End Function
    						
    cet exemple de code montre comment implémenter IObjectConstruct_Construct pour accéder de la chaîne du constructeur d'objet COM +. Le paramètre de construire l'objet doit être castée en une interface IObjectConstructString. IObjectConstructString expose une propriété unique appelée ConstructString peut être utilisé pour accéder à la chaîne du constructeur d'objet COM +. Notez comment la chaîne du constructeur est assignée à une variable globale et réutilisée dans la fonction GetAuthors.
  6. Compilez la DLL. Pour créer l'application serveur COM + pour ordinateur hôte composant prjConstruct.clsConstruct, procédez comme suit :
    1. Dans le panneau de configuration, pointez sur Outils d'administration et puis cliquez sur Services de composants pour ouvrir le composant logiciel enfichable MMC (Microsoft Management Console) services de composants.
    2. Cliquez pour développer les Services de composants, ordinateurs, Poste de travail et Applications COM + n?uds. Cliquez sur applications COM +.
    3. Cliquez avec le bouton droit sur Applications COM +, pointez sur Nouveau et cliquez sur application.
    4. Créer une application côté serveur vide nommée VBComPlusTest et définissez sa propriété d'identité à utiliser les informations d'identification de l'utilisateur interactif.
    5. Terminez l'Assistant, puis cliquez sur Terminer. Cela crée l'application COM + échantillon qui est utilisée pour le composant Visual Basic prjConstruct.clsConstruct ordinateur hôte.
  7. Pour installer le composant prjConstruct.clsConstruct dans l'application «VBComPlusTest"COM +, procédez comme suit :
    1. Dans le composant logiciel enfichable MMC Services de composants, cliquez pour développer le n?ud VBComPlusTest. Cliquez sur le sous-dossier de composants.
    2. Cliquez avec le bouton droit sur composants, pointez sur Nouveau et cliquez sur composant.
    3. Dans l'Assistant Installation du composant COM, cliquez sur suivant, cliquez sur installer de nouveaux composants et sélectionnez prjConstruct.dll et cliquez sur suivant.
    4. Terminez l'Assistant, puis cliquez sur Terminer.
  8. Ouvrez la fenêtre Propriétés pour le prjConstruct.clsConstruct composant Visual Basic.
  9. Sous l'onglet activation, cochez la case de construction d'activer un objet.
  10. Dans la zone Chaîne de constructeur, spécifiez la chaîne de connexion ADO suivante, puis cliquez sur OK :

    Remarque : cet exemple utilise l'exemple de base de données Microsoft SQL Server PUBS.
    "Provider=SQLOLEDB;Data Source=<Your SQL Server>;Initial Catalog=pubs;" & _
                       "User Id=<User Id>;Password=<Password>"
    					

Comment faire pour utiliser la chaîne de constructeur d'objet COM +

  1. Ouvrez un nouveau projet standard EXE dans Visual Basic pour tester le composant Visual Basic COM +. Form1 est créé par défaut.
  2. Ajoutez une zone de liste (liste 1) et un bouton de commande (Command1) à Form1.
  3. Copiez et collez le code suivant dans l'événement Click de Command1 :
    Dim obj As Object
    Dim rs As Object
    
    Set obj = CreateObject("prjConstruct.clsConstruct")
    Set rs = obj.GetAuthors()
    Do While Not rs.EOF
      List1.AddItem rs.fields("au_fname")
      rs.movenext
    Loop
    
    Set obj = Nothing
    					
  4. Enregistrez le projet standard EXE et exécutez-le.
  5. Cliquez sur Command1 pour remplir la zone de liste avec les noms de la première de tous les auteurs de la table authors.
Pour illustrer l'utilité de la chaîne du constructeur d'objet COM +, modifiez la propriété DataSource dans la chaîne du constructeur pour pointer vers un autre serveur SQL possède également l'exemple de base de données PUBS. Lorsque vous exécutez le code client, les enregistrements à partir de la nouvelle source de données sont récupérées et affichées. Pour confirmer cela, ajoutez un nouvel enregistrement à la table authors de la deuxième base de données SQL Server PUBS.

Propriétés

Numéro d'article: 271284 - Dernière mise à jour: mardi 29 juin 2004 - Version: 1.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic 5.0 Édition professionnelle
  • Microsoft Visual Basic 6.0 Édition professionnelle
  • Microsoft Visual Basic 5.0 Édition Entreprise
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Mots-clés : 
kbmt kbhowto kbmdacnosweep KB271284 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 271284
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com