CORREÇÃO: O Mscomctl de controles comuns do Windows ou Comctl32. ocx pode fazer com que seu aplicativo ou IDE do Visual Basic 6 inesperadamente ou você pode receber uma mensagem de erro de "Divisão por Zero"

Traduções deste artigo Traduções deste artigo
ID do artigo: 896559 - Exibir os produtos aos quais esse artigo se aplica.
Aviso
Suporte básico para o Microsoft Visual Basic 6.0 foi encerrado em 31 de março de 2005. A Microsoft está lançando este pacote não está relacionado à segurança porque ele contém aperfeiçoamentos que estavam preparados para lançamento apenas antes do fim do suporte Mainstream. Visual Basic 6.0 foram migrados para o suporte estendido e suporte estendido é executado por meio de 31 de março de 2008. Microsoft não está ampliando a fase de suporte base para o Visual Basic 6.0 de forma alguma.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Há duas versões dos controles comuns do Microsoft Windows. Comctl32. ocx contém 5.0 de controles comuns do Windows e foi incluído com o Microsoft Visual Studio 5.0. Mscomctl. ocx contém 6.0 de controles comuns do Windows e foi incluído no Visual Studio 6.0 do. Esse hotfix corrige os seguintes bugs críticos nesses controles.

Controles comuns do Windows 5.0: Comctl32. ocx

Considere o cenário a seguir.
  • Você está executando um aplicativo que define um gancho WinEvent no Microsoft Windows 2000 ou uma versão posterior do sistema operacional.
  • Iniciar um aplicativo que usa o controle ListView ou o controle TreeView do Microsoft Windows 5.0 controles comuns.
Nesse cenário, o aplicativo pode fechar inesperadamente ou você pode receber uma mensagem de erro semelhante à seguinte:
Projeto1: Project1.exe - erro de aplicativo
A instrução em "0x202d0f51" consultou a memória em "0x40000001". A memória não pôde ser "gravada". Clique em OK para encerrar o programa
Observação Normalmente, os aplicativos de acessibilidade que são criados no Microsoft Active Accessibility definam um gancho WinEvent. Por exemplo, o Narrator é criado no Microsoft Active Accessibility. No entanto, os utilitários que são executados no sistema operacional Microsoft Windows XP Tablet PC Edition também definir um gancho WinEvent.

Controles comuns do Windows 6.0: Mscomctl. ocx

Se você estiver executando um aplicativo que usa o arquivo Mscomctl. ocx versão 6.1.97.64 ou uma versão posterior e o aplicativo contém um controle ListView com a propriedade AllowColumnReorder definida como True, você recebe a seguinte mensagem de erro quando você tenta reordenar as colunas:
Projeto1: Project1.exe - erro de aplicativo
A instrução em "0x27618848" consultou a memória em "0x016e1e90". A memória não pôde ser "lida".
Dependendo da configuração padrão do depurador para o seu sistema, você também pode receber uma mensagem de erro "0xC0000094 divisão por Zero" ou o aplicativo pode fechar inesperadamente.

Observação Se você executar o aplicativo no IDE do Visual Basic 6, você também terá esses problemas.

Causa

O problema com o Windows comuns controles 5.0 ocorre porque Comctl32. ocx tenta copiar o membro de texto de um item de ListView usando uma máscara de LVI_IMAGE que tem um membro de texto NULL.

O problema com o Windows 6.0 de controles comuns ocorre devido a uma alteração na versão 6.1.97.64 do arquivo Mscomctl. ocx. Versão 6.1.97.64 está incluída no hotfix 826287. Versão 6.1.97.64 do arquivo Mscomctl. ocx altera o comportamento do controle ListView quando 6.0 do Visual Studio está sendo executado em um computador que esteja executando o Windows XP ou um sistema operacional posterior. A maioria das chamadas de controle ImageList no Mscomctl. ocx são invólucros de chamadas para o ImageList shell comum classe de controle que é definido no Comctl32. dll. No entanto, o método ImageList_GetImageRect não é empacotado. Este método ainda usa a versão anterior da estrutura ImageList e a versão anterior da classe de controle ImageList que são definidos no arquivo Mscomctl. ocx. Esse design faz com que um erro de divisão por zero ocorrer durante a operação de reordenação de coluna.

Resolução

Importante Se o aplicativo que você está executando foi fornecido a você por um terceiro, você poderá entrar em contato com terceiros que forneceu o aplicativo antes de instalar a correção. Por exemplo, você desenvolver o aplicativo sozinho. Se você instalar essa correção sem testes suficientes, os aplicativos podem parar de funcionar.

Observação A correção de anexo não pode ser desinstalada ou removida após a instalação.

O seguinte arquivo está disponível para download no Microsoft Download Center:
Recolher esta imagemExpandir esta imagem
Download
Baixe agora o pacote de controles comuns do Visual Basic 6.0.
http://www.microsoft.com/downloads/details.aspx?FamilyId=25437D98-51D0-41C1-BB14-64662F5F62FE
Para obter mais informações sobre como baixar arquivos do Microsoft Support, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
119591 Como obter arquivos de suporte da Microsoft de serviços on-line
Microsoft examinou esse arquivo em busca de vírus. A Microsoft usou o software de detecção de vírus mais atual que estava disponível na data em que o arquivo foi publicado. O arquivo está armazenado em servidores com segurança avançada que ajudam a evitar qualquer alteração não autorizada no arquivo.

Uma correção com suporte foi disponibilizada pela Microsoft para o Visual Basic 6 SP6.
A versão em inglês deste hotfix possui os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas em formato Tempo Universal Coordenado (UTC). Quando você exibir as informações do arquivo, ele é convertido em hora local. Para localizar a diferença entre o UTC e a hora local, use o Fuso horário guia na ferramenta Data e hora no painel de controle.
   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     

Situação

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

Mais Informações

Para obter mais informações, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
827217CORREÇÃO: Violação de acesso no Comctl32. ocx no Windows 2000 ou posterior
824684 Descrição da terminologia padrão usada para descrever as atualizações de software da Microsoft

Propriedades

ID do artigo: 896559 - Última revisão: segunda-feira, 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 pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.
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