Compartilhar via


ATL e MFC alterações: 7.1 ATL e MFC 7.1

Observação:   Alguns recursos mencionados neste tópico talvez ainda não existem na versão corrente do Visual C++.

As alterações foram feitas as bibliotecas ATL e MFC e os assistentes do Visual C++ .NET 2003, algumas das quais podem quebrar o código existente.

  • Problemas do assistente ao migrar um projeto do ATL 6.0 para ATL 7.1 (ATL)

  • CAtlServiceModuleT::InitializeSecurity foi removido CAtlServiceModuleT (ATL)

  • SetRfc822Time função atualizada

  • Projetos criados com padrão que ATL assistente irá falhar no Windows NT

Problemas do assistente ao migrar um projeto do ATL 6.0 para ATL 7.1

Ao converter um projeto Visual C++ 6.0 em um projeto Visual C++.NET 2003, manipuladores de mensagens são adicionadas ao participante do MAP da mensagem.Se o MAP da mensagem tiver um CHAIN_*_MAP(...) entrada, itens adicionados pelo assistente serão incluídos no participante da entrada e podem não ser processados.

Por exemplo, ao migrar um projeto contendo um controle Visual C++ 6.0 ATL para um projeto Visual C++.NET 2003, o OnInitDialog manipulador nunca seja chamado. Isso ocorre porque o MESSAGE_HANDLER é posicionado após o CHAIN_MSG_MAP(...) entrada, em vez de antes.

Para garantir o OnInitDialog manipulador é chamado, a linha CHAIN_MSG_MAP(CComControl<Name of class>) deve ser incluído no participante do CHAIN_MSG_MAP(...) entrada.Como alternativa, o OnInitDialog implementação da classe base deve executar inicialização necessária.

CAtlServiceModuleT::InitializeSecurity foi removido do CAtlServiceModuleT

No Visual Studio .NET 2003, este método não está implementado na classe base.Para obter detalhes, consulte CAtlServiceModuleT::InitializeSecurity.

Função SetRfc822Time atualizada

Para evitar possíveis saturações de buffer, a SetRfc822Time função agora possui um parâmetro extra e um valor retornado que indica o comprimento da seqüência de caracteres necessário para armazenar os dados retornados time.

Projetos criados com padrão que ATL assistente irá falhar no Windows NT

No Visual Studio .NET 2003, o compilador MIDL tem uma configuração padrão de / robusto, que faz com que os projetos em execução no Windows NT 4 pare de responder.

Para alterar o sinalizar de compilador MIDL para /no_robust

  1. clicar com o botão direito do mouse em seu projeto e no menu de atalho, clique em Propriedades.

    The Propriedades do projeto caixa de diálogo é exibida.

  2. No painel esquerdo, clicar MIDLe, em seguida, selecionar Linha de comando.

  3. Digite /no_robust in the Opções adicionais caixa de texto.

Consulte também

Referência

ATL e MFC alterações