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

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
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
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 SectionImplements IObjectConstructDim connstr As StringPrivate Sub IObjectConstruct_Construct(ByVal pCtorObj As Object)Dim mConstructString As IObjectConstructStringSet mConstructString = pCtorObjconnstr = mConstructString.ConstructStringEnd SubPublic Function GetAuthors() As ADODB.RecordsetDim cn As ADODB.ConnectionDim rs As ADODB.RecordsetSet cn = New ADODB.Connectioncn.Open connstrSet rs = New ADODB.Recordsetrs.CursorLocation = adUseClientrs.Open "Select * from Authors", cn, adOpenStatic, adLockBatchOptimisticSet rs.ActiveConnection = NothingSet GetAuthors = rsGetObjectContext.SetCompleteEnd 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 ObjectDim rs As ObjectSet obj = CreateObject("prjConstruct.clsConstruct")Set rs = obj.GetAuthors()Do While Not rs.EOF  List1.AddItem rs.fields("au_fname")  rs.movenextLoopSet 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.

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 271284 - Última Revisão: 12/05/2015 21:22:48 - Revisão: 1.2

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

  • kbnosurvey kbarchive kbmt kbhowto kbmdacnosweep KB271284 KbMtpt
Comentários