Como aceder a cadeia de construtor de objecto do COM + num componente do Visual Basic

Traduções de Artigos Traduções de Artigos
Artigo: 271284 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

No Microsoft Windows 2000, pode configurar uma cadeia de construtor objecto exclusivo para cada componente de biblioteca de ligação dinâmica (DLL) que está instalado o COM + tempo de execução. Esta cadeia de construtor é normalmente utilizada para especificar uma cadeia de inicialização que tem de estar acessível a todas as instâncias de objecto do componente. Este artigo inclui um exemplo de código demonstra como pode configurar a + objecto cadeia de construtor para um componente do Visual Basic que podem utilizar instâncias do objecto o componente.

Mais Informação

A cadeia de construtor é normalmente utilizada para especificar uma cadeia de ligação da base de dados que as instâncias de objecto de um componente utilizado para estabelecer ligações de base de dados. Uma vantagem de utilizar a cadeia de construtor com este objectivo é o impede a cadeia de ligação de codificada no código do componente. Para alterar o nome do servidor da base de dados, aponte para uma base de dados diferente ou implementar outras modificações, apenas terá de modificar COM + objecto construtor o componente; já não tem que alterar o código do componente e recompilar a DLL real. Para além de armazenar informações de ligação de base de dados, também pode utilizar a cadeia de construtor de objecto COM + para especificar qualquer cadeia de inicialização que necessita de ser acessível a todas as instâncias de objecto do componente para o qual está configurada.

Como configurar a cadeia de construtor do objecto do COM +

O componente do Visual Basic deve implementa a interface IObjectConstruct + para activar as instâncias do objecto aceder a + objecto cadeia de construtor que tenha sido configurada para o mesmo. IObjectConstruct expõe um método único denominado construir ( IObjectConstruct_Construct ) que é accionado quando é criada uma instância de objecto do componente. Pode utilizar o objecto de construtor que é transmitido como um parâmetro para este método para obter a configurados COM + objecto cadeia de construtor. Para implementar um exemplo que demonstra como pode utilizar esta funcionalidade, execute os seguintes passos:
  1. Abra um novo projecto de DLL de ActiveX no Visual Basic.
  2. Mudar o nome do projecto "prjConstruct".
  3. Mude o nome do módulo de classe "clsConstruct".
  4. Definir referências projecto a Biblioteca de serviços COM + e ActiveX Data Objects 2.5 Library .
  5. Copie e cole o código seguinte 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 exemplo de código demonstra como implementar IObjectConstruct_Construct para aceder a cadeia de construtor de objecto COM +. O parâmetro de objecto Construct tem de ser convertido para uma interface IObjectConstructString . IObjectConstructString expõe uma única propriedade denominada ConstructString que podem ser utilizados para aceder a cadeia de construtor de objecto COM +. Repare como a cadeia de construtor é atribuída a uma variável global e reutilizada na função GetAuthors .
  6. Compile a DLL. Para criar a aplicação de servidor do COM + hospede o componente prjConstruct.clsConstruct, siga estes passos:
    1. No painel de controlo, aponte para Ferramentas administrativas e, em seguida, clique em Serviços de componentes para abrir snap-in componente de serviços de consola (gestão da Microsoft).
    2. Clique para expandir a Serviços de componentes , computadores , Meu computador e nós de Aplicações do COM + . Clique em aplicações do COM + .
    3. Clique com o botão direito do rato em Aplicações do COM + , aponte para Novo e, em seguida, clique em aplicação .
    4. Criar uma aplicação do lado do servidor vazia denominada VBComPlusTest e defina a propriedade de identidade para utilizar as credenciais do utilizador interactivo.
    5. Conclua o assistente e clique em Concluir . Isto cria a exemplo aplicação COM + destinada a hospedar o componente de Visual Basic prjConstruct.clsConstruct.
  7. Para instalar o componente prjConstruct.clsConstruct na aplicação "VBComPlusTest" COM +, siga estes passos:
    1. No snap-in MMC de serviços de componentes, clique para expandir o nó VBComPlusTest . Clique na subpasta componentes .
    2. Clique com o botão direito do rato em componentes , aponte para Novo e, em seguida, clique em componentes .
    3. COM componente Assistente da instalação, clique em seguinte , clique em instalar novos componentes e seleccione prjConstruct.dll e clique em seguinte .
    4. Conclua o assistente e clique em Concluir .
  8. Abra a janela Propriedades para prjConstruct.clsConstruct o componente do Visual Basic.
  9. No separador activação , seleccione a caixa de verificação Activar objecto construção .
  10. Na caixa Cadeia de construtor , especificar a seguinte cadeia de ligação ADO e, em seguida, clique em OK :

    Nota : Este exemplo utiliza a 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 utilizar a cadeia de construtor do objecto do COM +

  1. Abra um projecto EXE padrão novo no Visual Basic para testar o componente do Visual Basic COM +. É criado o Form1 por predefinição.
  2. Adicione uma caixa de listagem (Lista1) e um botão de comando (Command1) ao Form1.
  3. Copie e cole o seguinte código no evento clicar 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. Guarde o projecto EXE padrão e executá-la.
  5. Clique em Command1 para preencher a caixa de listagem com os nomes próprios de todos os autores da tabela Authors.
Para demonstrar a utilidade da cadeia de construtor de objecto COM +, altere a propriedade DataSource na cadeia de construtor para apontar para um servidor de SQL diferente que também tem a base de dados de exemplo PUBS. Quando executa o código do cliente, os registos da nova origem de dados são obtidos e apresentados. Para confirmar este, adicione um novo registo à tabela autores na segunda base de dados PUBS do SQL Server.

Propriedades

Artigo: 271284 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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