Artigo: 835428 - Última revisão: sexta-feira, 7 de Abril de 2006 - Revisão: 2.1

MFC 7.1 não consegue registar alguns componentes da aplicação MFC se 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 | Reduzir tudo
Se desenvolver uma aplicação Microsoft Foundation Classes (MFC) utilizando o Microsoft Visual Studio .NET 2003 e a aplicação contém componentes OLE, todos os componentes poderão não registar com êxito se um dos componentes tem um parâmetro PROGID NULL. Este problema pode causar um comportamento inesperado quando executar a aplicação uma vez que informações relativas aos componentes não ser apresentado no registo.

Causa

Quando a macro IMPLEMENT_OLECREATE regista os componentes numa aplicação MFC, se o valor que é transmitido para o parâmetro external_name for NULL, a chamada seguinte para a função UpdateRegistry devolve FALSE e a função UpdateRegistry não actualiza as informações de componente no registo. Este comportamento faz com que MFC cancelar o processo de registo. Por conseguinte, informações sobre os outros componentes da aplicação não são actualizadas no registo.

Resolução

Agora é disponibilizada pela Microsoft uma correcção suportada, mas destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pelo próximo service pack do Visual Studio .NET 2003 que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa de números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados, se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem na atualização específica em questão.

A versão inglesa desta correcção tem os atributos de ficheiro (ou posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas no formato de universal hora (UTC) coordenada Coordinated. 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 o separador fuso horário na ferramenta Data e hora no painel de controlo.
   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 nulo para o parâmetro external_name que é transmitido à macro IMPLEMENT_OLECREATE ou especificar um parâmetro para registar os componentes não-NULL PROGID.

Ponto Da Situação

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

Mais Informação

Para obter informações adicionais sobre a terminologia utilizada para descrever actualizações de produtos Microsoft, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/ ) Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

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 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: 835428  (http://support.microsoft.com/kb/835428/en-us/ )