Artigo: 241896 - Última revisão: terça-feira, 7 de Agosto de 2007 - Revisão: 5.2 Problemas com componentes do Visual Basic 6.0 ActiveX de thread
Nesta páginaSintomasAo utilizar componentes do Visual Basic 6.0 ActiveX num ambiente multi-threaded, deve ter em atenção os seguintes problemas potenciais: DLL de ActiveX hospedados num cliente multi-threaded
Nota Anterior ao Service Pack 3 para Visual Studio 6.0, foi possível obter um AV durante o processo de encerramento com reter na memória activada. Foi corrigido no service pack mais recente do Visual Studio 6.0: http://msdn2.microsoft.com/en-us/vstudio/aa718364.aspx'
(http://msdn2.microsoft.com/en-us/vstudio/aa718364.aspx)
Se um projecto de DLL de ActiveX ou UserControl contém declarações de API, poderá detectar bloqueios fatais durante o processo/thread encerrar ou a criação de objectos, mesmo que a caixa de verificação de Execução automática tem sido seleccionado no caso de uma DLL de ActiveX. Para contornar este problema, pode utilizar uma biblioteca de tipos em vez de Declare no Visual Basic. Para obter informações adicionais sobre como utilizar uma biblioteca de tipos, clique o número de artigo % 2 abaixo para visualizar o artigo % 2 na base de dados de conhecimento da Microsoft: 189133
(http://support.microsoft.com/kb/189133/EN-US/
)
COMO: Criar C DLL mais acessíveis para VB com uma biblioteca de tipos EXE ActiveX acedidos por um cliente multi-threaded ou por vários único ou multi-threaded clientesErro de tempo de execução '7': memória esgotada e por vezes seguido de um erro de operação do disco. Run-time error '430': classe não suporta automatização ou não suporta a interface esperada. Run-time error '424': objecto necessário. Run-time error '-2147023170 (800706be)': erro de automatização. A chamada de procedimento remoto falhou. Run-time error '-2147287010 (8003001e)': erro de automatização. Esta é uma "Ocorreu um erro de disco durante uma operação de leitura." baseia ErrLook. Processos de servidor adicional (ThreadTest.EXE) são criados, mesmo que a propriedade Instancing Aula1 está marcado como MultiUse. Ponto Da SituaçãoEste comportamento ocorre por predefinição.No Visual Studio 6 Service Pack 5, se um projecto contiver qualquer classe pública que tenha MTSTransactionMode conjunto para algo diferente de 0 , a opção de Execução automática e a Manter na memória são automaticamente seleccionada. Mais InformaçãoPassos para reproduzir o comportamentoO servidor de criação de A:
B: criar o cliente e de teste
C: implementar a solução alternativa
Não utilize a propriedade GlobalMultiUse instância de uma classe se tenciona utilizar o componente ActiveX em MTS ou +. A interface para o objecto GlobalMultiUse está em cache num por tabela baseada em thread e não é libertada até que o thread termina. Como resultado, se uma chamada vem com um contexto diferente (embora no mesmo thread), falhar com RPC_E_WRONG_THREAD. Para utilizar componentes no MTS e COM +, deve estruturar as classes de tal forma que os objectos são sem estado. A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: 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: 241896
(http://support.microsoft.com/kb/241896/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções de Artigos
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar ao topo