ID do artigo: 835428 - Última revisão: sexta-feira, 7 de abril de 2006 - Revisão: 2.1

7.1 MFC não é possível registrar alguns componentes no seu aplicativo MFC se você especificar um parâmetro de external_name NULL

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Recolher tudo
Se você desenvolve um aplicativo MFC (Microsoft Foundation Classes) usando o Microsoft Visual Studio .NET 2003 e o aplicativo contém componentes OLE, todos os componentes não podem registrar com êxito se um dos componentes tem um parâmetro NULL PROGID. Esse problema pode causar um comportamento inesperado quando você executar o aplicativo porque o componente de informações podem não aparecer no registro.

Causa

Quando a macro IMPLEMENT_OLECREATE registra os componentes em um aplicativo MFC, se o valor que é passado para o parâmetro external_name for NULL, a próxima chamada da função UpdateRegistry retorna FALSE e a função UpdateRegistry não atualiza as informações de componente no registro. Esse comportamento faz com que a MFC anular o processo de registro. Por isso, informações sobre os outros componentes do aplicativo não são atualizadas no registro.

Resolução

Um hotfix suportado agora está disponível da Microsoft, mas destina-se somente a corrigir o problema descrito neste artigo. Aplique-o somente nos sistemas que apresentarem esse problema específico. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde o próximo service pack do Visual Studio .NET 2003 que contém esse hotfix.

Para resolver esse problema imediatamente, contate o Atendimento Microsoft para obter o hotfix. Para obter uma lista completa de telefones do Atendimento Microsoft e informações sobre os custos de suporte da, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Observação Em alguns casos, as taxas cobradas pelas ligações para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicados a questões e problemas que não se qualificam à atualização específica em questão de suporte adicionais.

A versão em inglês deste hotfix apresenta os atributos de arquivo (ou posteriores) listados na tabela a seguir. As datas e horas desses arquivos são listadas na acordo hora universal coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário na ferramenta Data e hora no painel de controle.
   Date         Time   Version      Size       File name
   --------------------------------------------------------
   28-Jan-2004  06:21  7.10.4027.0  1,060,864  Mfc71.dll
   28-Jan-2004  05:38  7.10.4027.0     40,960  Mfc71chs.dll
   28-Jan-2004  05:38  7.10.4027.0     45,056  Mfc71cht.dll
   28-Jan-2004  05:28  7.10.4027.0  2,183,168  Mfc71d.dll
   28-Jan-2004  05:38  7.10.4027.0     65,536  Mfc71deu.dll
   28-Jan-2004  05:38  7.10.4027.0     57,344  Mfc71enu.dll
   28-Jan-2004  05:38  7.10.4027.0     61,440  Mfc71esp.dll
   28-Jan-2004  05:38  7.10.4027.0     61,440  Mfc71fra.dll
   28-Jan-2004  05:38  7.10.4027.0     61,440  Mfc71ita.dll
   28-Jan-2004  05:38  7.10.4027.0     49,152  Mfc71jpn.dll
   28-Jan-2004  05:38  7.10.4027.0     49,152  Mfc71kor.dll
   28-Jan-2004  06:07  7.10.4027.0  1,048,064  Mfc71u.dll
   28-Jan-2004  05:30  7.10.4027.0  2,178,048  Mfc71ud.dll

Como Contornar

Para contornar este problema, especifique um valor não-NULL para o parâmetro external_name que é passado para a macro IMPLEMENT_OLECREATE ou especifique um parâmetro não-NULL PROGID para registrar seus componentes.

Situação

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

Mais Informações

Para obter informações adicionais sobre a terminologia que é usada para descrever as atualizações de produtos da Microsoft, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684  (http://support.microsoft.com/kb/824684/ ) Descrição da terminologia padrão que é usada para descrever as atualizações de software

A informação contida neste artigo aplica-se a:
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Academic Edition
Palavras-chave: 
kbmt kbqfe kbhotfixserver kbvsnet2003presp1fix kbfix kbbug KB835428 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 835428  (http://support.microsoft.com/kb/835428/en-us/ )