Erro: Um recurso inesperado idioma alterar ocorre com sistemas operacionais de idioma diferente do inglês quando você usa uma biblioteca de classe do MFC como uma biblioteca de vínculo estático no Visual C++ .NET

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: 832187
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Quando você usa uma biblioteca de classe do MFC (Microsoft Foundation Classes) como uma biblioteca estática MFC em vez de como uma biblioteca de link dinâmico compartilhado MFC (DLL) em um programa do MFC, ocorre um problema com uma alteração inesperada no idioma de recurso. Esta alteração inesperada no idioma recurso ocorre em um computador que possui um sistema operacional de idioma diferente do inglês, como um sistema operacional de idioma japonês ou um sistema operacional de idioma chinês. Altera o idioma de recurso para inglês embora o idioma do sistema operacional não seja inglês.
Causa
Quando você usa uma biblioteca estática MFC, o Microsoft Visual C++ .NET interpreta o idioma de recurso como o inglês em vez do idioma do sistema operacional que pode ser o idioma japonês ou o idioma chinês. O idioma de recurso não é localizado quando a biblioteca de classes MFC é usada em forma de uma biblioteca estática do MFC. Esse problema ocorre porque os caminhos de diretório do arquivo de recurso (.rc) do aplicativo estão ausentes. Quando você cria um aplicativo MFC usando o Visual C++. NET, o caminho do diretório (l. xxx) para o arquivo afxres.rc e para o arquivo afxprint.rc são omitidos do arquivo de recurso (.rc).

Observação Neste artigo, xxx é um espaço reservado para o nome curto do idioma. Se você usar o idioma japonês, o espaço reservado deve conter jpn. Se você usar o idioma alemão, o espaço reservado deve conter deu. Se você usar o idioma chinês, o espaço reservado deve conter chs.
Como Contornar
Para contornar esse problema, você deve editar o arquivo de recurso (.rc) manualmente. Você deve colocar o caminho de diretório ausente (l. xxx) no arquivo de recurso. O caminho do diretório indica o idioma dos recursos que deve ser usado no caminho do arquivo afxres.rc e no caminho do arquivo afxprint.rc. Você deve incluir o caminho do diretório em todas as ocorrências do arquivo afxres.rc e em todas as ocorrências do arquivo afxprint.rc.

Por exemplo, se você usar o idioma japonês, execute estas etapas:
  1. Inicie o bloco de notas ou outro editor de texto.
  2. Abra o arquivo de recurso (.rc) do projeto MFCProject no editor de.
  3. Procurar todas as ocorrências da seguinte seqüência de caracteres no arquivo de recurso:
    afxres.rc
    substituir essa seqüência de caracteres com a seguinte seqüência de caracteres:
    l.jpn\\afxres.rc
  4. Procurar todas as ocorrências da seguinte seqüência de caracteres no arquivo de recurso:
    afxprint.rc
    substituir essa seqüência de caracteres com a seguinte seqüência de caracteres:
    l.jpn\\afxprint.rc
  5. Salve o arquivo de recurso (.rc).
  6. Abra o projeto MFCProject no Microsoft Visual Studio. NET.
  7. Pressione CTRL + SHIFT + B para criar a solução.
Observação Por exemplo, se você usar o idioma chinês, você deve substituir a seqüência de caracteres afxres.rc e a seqüência afxprint.rc com a seqüência de caracteres l.chs\\afxres.rc e a seqüência de caracteres l.chs\\afxprint.rc , respectivamente. Substituir essas cadeias de caracteres no arquivo de recurso. Você deve alterar o nome curto do idioma da mesma maneira para outros idiomas.

Você deve criar a solução novamente para que as alterações no arquivo de recurso para ser eficaz.
Situação
A Microsoft confirmou que esse é um problema nos produtos da Microsoft listados no começo deste artigo.
Mais Informações

Etapas para reproduzir o problema

  1. Inicie o Visual Studio .NET 2002 ou Visual Studio .NET 2003 em um computador que tenha um sistema operacional de idioma japonês ou um sistema operacional de idioma chinês instalado.
  2. No menu arquivo , aponte para novo e, em seguida, clique em Project .
  3. Em Project Types , clique em Projetos do Visual c++ e, em seguida, clique em Aplicativo MFC em modelos .
  4. Na caixa de texto nome , digite MFCProject .
  5. Na caixa de texto local , digite C:\test e, em seguida, clique em OK .
  6. No Assistente de aplicativo do MFC - MFCProject de diálogo, clique em Tipo de aplicativo .
  7. Em tipo de aplicativo , clique em documento único .
  8. Verificar se o Idioma de recurso não é inglês, mas é o idioma do sistema operacional que você está usando.

    Por padrão, o idioma do sistema operacional está selecionado como o idioma de recurso. Nesse caso é japonês ou chinês.
  9. Clique em Concluir para fechar o Assistente de aplicativo do MFC - MFCProject caixa de diálogo.
  10. Pressione CTRL + SHIFT + B para criar o projeto.
  11. Pressione CTRL+F5 para executar o programa.

    Observe que o título do aplicativo é exibido no mesmo idioma como o idioma do sistema operacional que você está usando.
  12. Feche a janela do aplicativo.
  13. No Solution Explorer, clique com o botão direito no nó MFCProject e, em seguida, clique em Propriedades .
  14. Na caixa de diálogo MFCProject Property Pages , expanda a pasta Configuration Properties e, em seguida, clique em Geral .
  15. Em propriedade Uso de MFC , altere Usar MFC em uma DLL compartilhada para Usar MFC em uma biblioteca estática .

    Observação Por padrão, a aplicativo MFC usa o MFC classe biblioteca na forma de uma DLL compartilhada.
  16. Clique em Aplicar e, em seguida, clique em OK .
  17. Pressione CTRL + SHIFT + B para criar o projeto.
  18. Pressione CTRL+F5 para executar o programa.

    O título da janela do aplicativo aparece no idioma inglês, em vez do idioma inglês do sistema operacional que você está usando.

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 832187 - Última Revisão: 12/08/2015 05:26:02 - Revisão: 1.1

Microsoft Visual C++ .NET 2003 Standard Edition, Microsoft Visual C++ .NET 2002 Standard Edition

  • kbnosurvey kbarchive kbmt kbresource kbdlg kblocalization kbbug KB832187 KbMtpt
Comentários