Como acessar a seqüência de construtor de objetos COM + em um componente do Visual Basic

Traduções deste artigo Traduções deste artigo
ID do artigo: 271284 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

No Microsoft Windows 2000, você pode configurar uma seqüência de construtor do objeto exclusivo para cada componente de biblioteca de vínculo dinâmico (DLL) que está instalado no tempo de execução COM +. Essa seqüência de construtor é normalmente usada para especificar uma seqüência de inicialização que deve ser acessível a todas as instâncias de objeto do componente. Este artigo inclui um exemplo de código que demonstra como você pode configurar a + objeto construtor seqüência para um componente do Visual Basic que instâncias de objeto do componente podem usar.

Mais Informações

A seqüência de construtor é normalmente usada para especificar uma seqüência de conexão de banco de dados que as instâncias de objeto de um componente usar para estabelecer conexões de banco de dados. Uma vantagem de usar a seqüência de construtor para essa finalidade é que ele impede a seqüência de caracteres de conexão codificado no código do componente. Para alterar o nome do servidor de banco de dados, aponte para um banco de dados diferente ou implementar outras modificações, você só precisa modificar o construtor do componente COM + objeto; você não precisa alterar o código do componente e recompilar o DLL real. Além de armazenar as informações de conexão do banco de dados, você também pode usar a seqüência de construtor de objeto COM + para especificar qualquer seqüência de inicialização que precisará ser acessível a todas as instâncias de objeto de componente para o qual ele está configurado.

Como configurar a seqüência de construtor de objetos COM +

O componente do Visual Basic deve implementar a interface IObjectConstruct COM + para ativar suas instâncias de objeto acessar a + objeto construtor seqüência que foi configurada para ele. IObjectConstruct expõe um método único chamado construir ( IObjectConstruct_Construct ) que é acionado quando uma instância de objeto do componente é criada. Você pode usar o objeto de construtor que é passado como um parâmetro para este método para obter a configurado + objeto construtor seqüência. Para implementar um exemplo que demonstra como é possível que essa funcionalidade, execute as seguintes etapas:
  1. Abra um novo projeto ActiveX DLL no Visual Basic.
  2. Renomeie o projeto "prjConstruct".
  3. Renomeie o módulo de classe "clsConstruct".
  4. Definir referências de projeto à Biblioteca de serviços COM + e ActiveX Data Objects 2.5 Library .
  5. Copie e cole o código a seguir no módulo 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
    						
    este código de exemplo demonstra como implementar IObjectConstruct_Construct para acessar a seqüência de construtor de objeto COM +. O parâmetro de objeto criar deve ser convertido em uma interface IObjectConstructString . IObjectConstructString expõe uma propriedade única chamada ConstructString que podem ser usados para acessar a seqüência de construtor de objeto COM +. Observe como a seqüência de construtor é atribuída a uma variável global e reutilizada na função GetAuthors .
  6. Compile a DLL. Para criar o aplicativo de servidor do COM + para hospedar o componente prjConstruct.clsConstruct, execute essas etapas:
    1. No painel de controle, aponte para Ferramentas administrativas e clique em Serviços de componentes para abrir snap-in Component Services Microsoft Management Console (MMC).
    2. Clique para expandir os Serviços de componentes , computadores , Meu computador e nós de Aplicativos COM + . Clique em aplicativos COM + .
    3. Clique Aplicativos COM + com o botão direito do mouse, aponte para novo e, em seguida, clique em aplicativo .
    4. Crie um aplicativo do lado do servidor vazio chamado VBComPlusTest e defina sua propriedade de identidade para usar as credenciais do usuário interativo.
    5. Conclua o assistente e clique em Concluir . Isso cria o COM + aplicativo de exemplo que é usado para hospedar o componente do Visual Basic prjConstruct.clsConstruct.
  7. Para instalar o componente prjConstruct.clsConstruct no aplicativo "VBComPlusTest" COM +, execute essas etapas:
    1. No snap-in do MMC de serviços de componente, clique para expandir o nó VBComPlusTest . Clique na subpasta componentes .
    2. Clique com o botão direito do mouse em componentes , aponte para novo e, em seguida, clique em componente .
    3. COM Assistente de componentes do instalar, clique em Avançar , clique em instalar novos componentes e selecione prjConstruct.dll e clique em Avançar .
    4. Conclua o assistente e clique em Concluir .
  8. Abra a janela Properties para o Visual Basic componente prjConstruct.clsConstruct.
  9. Na guia ativação , selecione a caixa de seleção Ativar objeto construção .
  10. Na caixa Construtor String , especificar a seguinte seqüência de conexão ADO e, em seguida, clique em OK :

    Observação : Este exemplo usa o banco de dados de exemplo PUBS do Microsoft SQL Server.
    "Provider=SQLOLEDB;Data Source=<Your SQL Server>;Initial Catalog=pubs;" & _
                       "User Id=<User Id>;Password=<Password>"
    					

Como usar a seqüência de construtor de objetos COM +

  1. Abra um novo projeto Standard EXE no Visual Basic para testar o componente do Visual Basic COM +. O Form1 é criado por padrão.
  2. Adicione uma caixa de listagem (Lista1) e um botão de comando (Command1) ao Form1.
  3. Copie e cole o código a seguir no 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. Salve o projeto Standard EXE e executá-lo.
  5. Clique em Command1 para preencher a caixa de listagem com os nomes de todos os autores na tabela autores.
Para demonstrar a utilidade da seqüência de construtor de objeto de COM +, altere a propriedade DataSource na seqüência de construtor para apontar para um servidor SQL diferente que também tem o banco de dados de exemplo PUBS. Quando você executa o código do cliente, os registros da nova fonte de dados são recuperados e exibidos. Para confirmar isso, adicione um novo registro à tabela Authors no segundo banco de dados PUBS do SQL Server.

Propriedades

ID do artigo: 271284 - Última revisão: terça-feira, 29 de junho de 2004 - Revisão: 1.2
A informação contida neste artigo aplica-se 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
Palavras-chave: 
kbmt kbhowto kbmdacnosweep KB271284 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 271284

Submeter comentários

 

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