CORRECÇÃO: O Mscomctl.ocx de controlos comuns do Windows ou Comctl32. ocx poderá provocar a aplicação ou o IDE do Visual Basic 6 ser encerrado inesperadamente ou poderá receber uma mensagem de erro "Divisão por Z...

Traduções de Artigos Traduções de Artigos
Artigo: 896559 - Ver produtos para os quais este artigo se aplica.
Importante
Têm suporte para o Microsoft Visual Basic 6.0 terminou em 31 de Março de 2005. Microsoft está a lançar este pacote que não está relacionado com segurança porque contém melhoramentos que foram prontos para edição apenas antes do fim do suporte de base. Visual Basic 6.0 tem transitar para o suporte alargado, e o suporte alargado é executado através de 31 de Março de 2008. Microsoft é não expandir na fase de suporte base para o Visual Basic 6.0 de qualquer forma.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Existem duas versões do Microsoft Windows controlos comuns. Comctl32. ocx contém 5.0 controlos comuns do Windows e foi incluído no Microsoft Visual Studio 5.0. MSComCtl.ocx contém o Windows 6.0 de controlos comuns e foi incluído no Visual Studio 6.0. Esta correcção corrige os seguintes erros críticos existentes nestes controlos.

Controlos comuns do Windows 5.0: comctl32. ocx

Considere o seguinte cenário.
  • Está a executar uma aplicação que define um gancho de rotina WinEvent no Microsoft Windows 2000 ou uma versão posterior do sistema operativo.
  • Iniciar uma aplicação que utiliza o controlo de ListView ou o controlo TreeView do 5.0 de controlos comuns do Microsoft Windows.
Neste cenário, a aplicação poderá ser terminado inesperadamente ou poderá receber uma mensagem de erro semelhante à seguinte:
Projeto1: Project1.exe - Erro de aplicação
A instrução no "0x202d0f51" referência à memória no "0x40000001". A memória não pôde ser "escrita". Clique em OK para terminar o programa
Nota Normalmente, as aplicações de acessibilidade estão incorporadas no Microsoft Active Accessibility definir um gancho de rotina WinEvent. Por exemplo, o Narrator é criado no Microsoft Active Accessibility. No entanto, os utilitários que são executados no sistema operativo Microsoft Windows XP Tablet PC Edition também definir um gancho de rotina WinEvent.

Controlos comuns do Windows 6.0: Mscomctl.ocx

Se estiver a executar uma aplicação que utiliza Mscomctl.ocx versão 6.1.97.64 ou uma versão posterior e a aplicação contém um controlo ListView com a propriedade AllowColumnReorder definida como True, receberá a seguinte mensagem de erro quando tenta reordenar as colunas:
Projeto1: Project1.exe - Erro de aplicação
A instrução no "0x27618848" referência à memória no "0x016e1e90". A memória não pôde ser "lida".
Consoante a configuração do depurador predefinido para o seu sistema, também poderá receber uma mensagem de erro "0xC0000094 dividir por Zero" ou a aplicação poderá ser terminado inesperadamente.

Nota Se executar a aplicação no IDE do Visual Basic 6, também irá detectar estes problemas.

Causa

O problema com o Windows 5.0 de controlos comuns ocorre porque o Comctl32. ocx tenta copiar o membro de texto de um item da ListView utilizando uma máscara de LVI_IMAGE tem um membro do texto NULL.

O problema com o Windows 6.0 de controlos comuns ocorre devido a uma alteração na versão 6.1.97.64 do ficheiro Mscomctl.ocx. Versão 6.1.97.64, incluída com a correcção 826287. Versão 6.1.97.64 do ficheiro Mscomctl.ocx altera o comportamento do controlo ListView quando Visual Studio 6.0 está em execução num computador que esteja a executar o Windows XP ou um sistema operativo posterior. A maior parte das chamadas de controlo de ImageList no Mscomctl.ocx é wrappers de chamadas para a ImageList shell comum classe de controlo definido no ficheiro Comctl32. dll. No entanto, o método ImageList_GetImageRect não é moldado. Este método utiliza ainda a versão anterior da ImageList estrutura e a versão anterior da classe de controlo de ImageList são definidos no ficheiro Mscomctl.ocx. Esta estrutura provoca um erro de divisão por zero ocorrer durante a operação de reordenação de colunas.

Resolução

Importante Se a aplicação que está a utilizar foi fornecida por um terceiro, poderá contactar o terceiros da aplicação que, antes de instalar a correcção. Por exemplo, não tenha desenvolvido a aplicação manualmente. Se instalar esta correcção sem ensaio suficientes, as aplicações podem deixar de funcionar.

Nota Não pode ser desinstalada ou removida depois de instalada a correcção fechada.

O ficheiro seguinte está disponível para transferência a partir do Microsoft Download Center:
Reduzir esta imagemExpandir esta imagem
Transferir
Transferir o pacote de controlos comuns do Visual Basic 6.0 agora.
http://www.microsoft.com/downloads/details.aspx?FamilyId=25437D98-51D0-41C1-BB14-64662F5F62FE
Para mais informações sobre como transferir ficheiros do Microsoft Support, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
119591 Como obter o Microsoft support files from online services
A Microsoft procedeu vírus neste ficheiro. A Microsoft utilizou o software de detecção de vírus mais actual, que estava disponível na data em que o ficheiro foi publicado. O ficheiro é armazenado em servidores com segurança melhorada, que ajudam a impedir quaisquer alterações não autorizadas ao ficheiro.

Existe uma correcção da Microsoft para o Visual Basic 6 SP6.
A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são listadas na hora Universal Coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize a Fuso horário separador na ferramenta Data e hora no painel de controlo.
   Date         Time   Version    Size       File name
   ------------------------------------------------------
   18-Aug-2003  20:25  6.0.81.6   1,344,512  Comctl32.ocx     
   02-Nov-2004  00:16  6.1.97.86  1,064,208  Mscomctl.ocx     

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Mais Informação

Para mais informações, clique nos números de artigo que se segue para visualizar os artigos na Microsoft Knowledge Base:
827217CORRECÇÃO: Violação de acesso no Comctl32. ocx no Windows 2000 ou posterior
824684 Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 896559 - Última revisão: 1 de julho de 2013 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Studio 6.0 Enterprise Edition
Palavras-chave: 
kbqfe kbvs600sp6 kbpending kbbug kbmt KB896559 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: 896559

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