Cómo obtener acceso a la cadena de constructor de objeto COM + en un componente de Visual Basic

Seleccione idioma Seleccione idioma
Id. de artículo: 271284 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

En Microsoft Windows 2000, puede configurar una cadena de constructor de objeto único para cada componente de biblioteca dynamic-link (DLL) que está instalado en el tiempo de ejecución de COM +. Esta cadena del constructor suele utilizarse para especificar una cadena de inicialización debe ser accesible para todas las instancias de objeto del componente. Este artículo incluye un ejemplo de código se muestra cómo puede configurar la COM + objeto cadena del constructor para un componente Visual Basic que pueden utilizar instancias de objetos del componente.

Más información

La cadena del constructor suele utilizarse para especificar una cadena de conexión de base de datos que las instancias de objeto de un componente utilizan para establecer conexiones de base de datos. Una ventaja de utilizar la cadena del constructor para este propósito es que impide que la cadena de conexión está codificado en el código del componente. Para cambiar el nombre del servidor de base de datos, elija una base de datos diferente o implementar otras modificaciones, sólo tiene que modificar el constructor del objeto del componente COM +; ya no tiene que cambiar el código del componente y vuelva a compilar la DLL real. Además de almacenar información de conexión de base de datos, también puede utilizar la cadena del constructor de objeto COM + para especificar cualquier cadena de inicialización debe ser accesible para todas las instancias de objeto del componente para el que está configurado.

Cómo configurar la cadena de constructor de objeto COM +

El componente de Visual Basic debe implementar la interfaz IObjectConstruct COM + para habilitar sus instancias de objeto tener acceso a la COM + objeto cadena del constructor que se ha configurado para él. IObjectConstruct expone un método único denominado construcción ( IObjectConstruct_Construct ) que se desencadena cuando se crea una instancia de objeto del componente. Puede utilizar el objeto constructor que se pasa como parámetro a este método para obtener la cadena de constructor de configurado COM + objeto. Para implementar un ejemplo que muestra cómo puede esta funcionalidad, realice los pasos siguientes:
  1. Abra un nuevo proyecto DLL ActiveX en Visual Basic.
  2. Cambie el nombre del proyecto "prjConstruct".
  3. Cambiar el nombre del módulo de clase "clsConstruct".
  4. Establecer referencias de proyecto a La biblioteca de servicios COM + y Biblioteca ActiveX Data Objects 2.5 .
  5. Copie y pegue el código siguiente en el módulo de clase:
    '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
    						
    este ejemplo de código muestra cómo implementar IObjectConstruct_Construct para tener acceso a la cadena del constructor de objeto COM +. El parámetro de objeto de crear se debe convertir en una interfaz IObjectConstructString . IObjectConstructString expone una propiedad única denominada ConstructString que puede utilizarse para tener acceso a la cadena del constructor de objeto COM +. Observe cómo la cadena del constructor se asigna a una variable global y reutilizarse en la función GetAuthors .
  6. Compile el archivo DLL. Para crear la aplicación de servidor COM + para el host del componente prjConstruct.clsConstruct, siga estos pasos:
    1. En el panel de control, seleccione Herramientas administrativas y, a continuación, haga clic en Servicios de componentes para abrir el complemento Microsoft Management Console (MMC) de servicios de componentes.
    2. Haga clic para expandir los Servicios de componentes , equipos , Mi PC y nodos de Aplicaciones COM + . Haga clic en aplicaciones COM + .
    3. Haga clic con el botón secundario en Aplicaciones COM + , seleccione nuevo y, a continuación, haga clic en aplicación .
    4. Cree una aplicación de servidor vacía denominada VBComPlusTest y establezca su propiedad de identidad para usar las credenciales del usuario interactivo.
    5. Complete el asistente y haga clic en Finalizar . Esto crea la ejemplo COM + de la aplicación que se utiliza para el componente de Visual Basic prjConstruct.clsConstruct de host.
  7. Para instalar el componente prjConstruct.clsConstruct en la aplicación "VBComPlusTest" COM +, siga estos pasos:
    1. En el complemento MMC de servicios de componentes, haga clic en para expandir el nodo VBComPlusTest . Haga clic en la subcarpeta de componentes .
    2. Haga clic con el botón secundario en componentes , seleccione nuevo y, a continuación, haga clic en componente .
    3. En el Asistente para instalación de componentes COM, haga clic en siguiente , haga clic en instalar nuevos componentes y seleccione prjConstruct.dll y haga clic en siguiente .
    4. Complete el asistente y haga clic en Finalizar .
  8. Abra la ventana Propiedades para el prjConstruct.clsConstruct de componente de Visual Basic.
  9. En la ficha activación , active la casilla de verificación habilitar objetos construcción .
  10. En el cuadro Cadena de constructor , especifique la siguiente cadena de conexión ADO y, a continuación, haga clic en Aceptar :

    Nota : este ejemplo utiliza la base de datos de ejemplo PUBS de Microsoft SQL Server.
    "Provider=SQLOLEDB;Data Source=<Your SQL Server>;Initial Catalog=pubs;" & _
                       "User Id=<User Id>;Password=<Password>"
    					

Cómo utilizar la cadena de constructor de objeto COM +

  1. Abra un nuevo proyecto EXE estándar en Visual Basic para probar el componente de COM + de Visual Basic. Se creará Form1 de manera predeterminada.
  2. Agregue un cuadro de lista (List1) y un botón de comando (Command1) a Form1.
  3. Copie y pegue el código siguiente en el evento 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. Guardar el proyecto EXE estándar y ejecútelo.
  5. Haga clic en Command1 para llenar el cuadro de lista con los nombres de todos los autores en la tabla authors.
Para demostrar la utilidad de la cadena del constructor de objeto COM +, cambie la propiedad DataSource en la cadena de constructor para que señale a otro servidor SQL que también tiene la base de datos PUBS de ejemplo. Cuando ejecuta el código de cliente, los registros de nuevo origen de datos se recuperan y se muestra. Para confirmarlo, agregar un nuevo registro a la tabla authors de la segunda base de datos PUBS de SQL Server.

Propiedades

Id. de artículo: 271284 - Última revisión: martes, 29 de junio de 2004 - Versión: 1.2
La información de este artículo se refiere a:
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Palabras clave: 
kbmt kbhowto kbmdacnosweep KB271284 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 271284

Enviar comentarios

 

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