DetailPage-MSS-KB

Base de Dados de Conhecimento

Artigo: 170340 - Última revisão: quarta-feira, 10 de Janeiro de 2001 - Revisão: 1.0

 

Nesta página

Sintomas

Quando a depuração de um servidor de ActiveX com no IDE do Visual Basic no Windows NT 4.0, poderá receber o erro seguinte quando o servidor de ActiveX tenta devolver o controlo novamente a aplicação de cliente em execução num segundo IDE do Visual Basic:
"Passo individual: VB5.EXE - Erro de aplicação
A instrução em < endereço de memória > referenciou a memória no < memória
endereço >. A memória não pôde ser "lida"

Resolução

Para corrigir este problema, utilize um dos seguintes métodos.

  • Instalar o Windows NT Service Pack 2 ou posterior. Os requisitos de sistema na caixa do Visual Basic recomenda Service Pack 2 para o Windows NT 4.0. - ou -

  • Utilize o enlace tardio quando criar o objecto de servidor ActiveX.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no início deste artigo.
Este problema foi corrigido no Windows 2000.

Mais Informação

Um método comum de depuração servidores ActiveX consiste em executá-los numa sessão do IDE do Visual Basic enquanto o cliente é executado numa segunda sessão do IDE do Visual Basic. Quando utilizar o enlace inicial a um servidor de ActiveX no Windows NT 4.0, receberá um erro de aplicação quando o servidor de ActiveX tenta devolver o controlo à aplicação cliente.

Nota : Este é um problema apenas se o Windows NT Service Pack 2 ou posterior não está instalado.

Passos para reproduzir o comportamento

  1. Crie um novo projecto EXE de ActiveX.
  2. Nome da classe clsTest .
  3. Adicione o seguinte código ao módulo de classe:
          Private Sub Class_Initialize()
             Debug.Print "Class Init"
          End Sub
    					
  4. Clique em Propriedades no menu projecto. No separador Geral, defina o nome do projecto "pjxTest." No separador criar, definir o título da aplicação para "pjxTest." No separador componentes, defina o modo de início para o componente ActiveX e clique em OK.
  5. Execute o servidor de ActiveX premindo CTRL + F5 ou, do menu ' Executar ', seleccione Iniciar com o total de compilação.
  6. Inicie uma segunda sessão do Visual Basic e crie um EXE padrão projecto.
  7. No menu Project, seleccione References. Marque "pjxTest" e clique em OK.
  8. Coloque um CommandButton no Form1.
  9. Adicione o seguinte código ao formulário:
          Dim obj As pjxTest.clstest
    
          Private Sub Command1_Click()
             Set obj = New pjxTest.clstest
          End Sub
    					
  10. Do menu ' Ver ', seleccione barras de ferramentas e certifique-se de que a barra de ferramentas de depuração está seleccionada.
  11. Utilize o botão Step Into na barra de ferramentas de depuração para avança no código. Obterá um erro de aplicação quando clica no botão Step Into e estão na linha "End Sub" a subclasse Class_Initialize do servidor ActiveX. Uma vez que o erro de aplicação é o cliente, será terminada a sessão de cliente do Visual Basic.

A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 5.0 Professional Edition nas seguintes plataformas
    • Microsoft Windows NT 4.0
  • Microsoft Visual Basic 6.0 Professional Edition nas seguintes plataformas
    • Microsoft Windows NT 4.0
  • Microsoft Visual Basic 5.0 Enterprise Edition nas seguintes plataformas
    • Microsoft Windows NT 4.0
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0 nas seguintes plataformas
    • Microsoft Windows NT 4.0
Palavras-chave: 
kbmt kbbug kbfix KB170340 KbMtpt
Tradução automáticaTraduçã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: 170340  (http://support.microsoft.com/kb/170340/en-us/ )
Partilhar
Opções de suporte adicionais
Fóruns de Suporte da Comunidade Microsoft
Contacte-nos directamente
Encontre um parceiro certificado Microsoft
Loja Microsoft