Entrar

CORRECÇÃO: IsKindOf falhar quando você compara CDaoException classes

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.

329066
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Quando você chamar CObject::IsKindOf em um objeto CDaoException , o resultado pode retornar false , embora seja um objeto CDaoException .
Causa
As classes DAO ( CDaoDatabase , CDaoRecordset , CDaoException ) estão localizadas na .lib vínculo estático biblioteca MFCS70 [D]. Cada uma dessas classes tem seu próprio construção CRuntimeClass , portanto as estruturas de dados que GetRuntimeClass retorna podem estar em locais diferentes no mesmo processo. Isso pode ocorrer onde um aplicativo é composto de um arquivo EXE e um arquivo DLL e ambos os arquivos de usam a classe CDaoException . Se você construir um objeto da classe CDaoException em um binário e, em seguida, usá-lo e comparar seu tipo para RUNTIME_CLASS(CDaoException) em outro binário, o teste IsKindOf retorna false .

Em versões anteriores, as classes DAO foram localizadas na MFC42 [D] .dll, portanto, esse cenário funcionaria porque quaisquer instâncias dessas classes veio do mesmo binário.
Resolução

Informações sobre o service pack

Para resolver esse problema, obtenha o service pack mais recente para o Microsoft Visual Studio. NET. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
837234Lista de bugs corrigidos no Visual Studio .NET 2002 1

Informações sobre o hotfix

A versão em inglês dessa correção 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   --------------------------------------------------------------   27-Sep-2002  07:19                  2,011,136  Atl70.pdb   12-Sep-2002  22:50                     39,733  Afxdao.h   27-Sep-2002  07:19  7.0.9613.0         84,992  Atl70.dll   24-Jul-2002  02:08                      3,443  Atlbase.cpp   24-Jul-2002  02:08                    163,480  Atlbase.h   24-Jul-2002  02:08                     15,521  Atlcore.h   24-Jul-2002  02:08                     43,105  Atlimage.h   27-Sep-2002  07:19                     48,090  Atlmincrt.lib   27-Sep-2002  07:19                    659,456  Atlmincrt.pdb   27-Sep-2002  07:18                  1,003,690  Atlsd.lib   27-Sep-2002  07:18                  1,306,624  Atlsd.pdb   27-Sep-2002  07:19                    934,264  Atls.lib   27-Sep-2002  07:19                  1,306,624  Atls.pdb   27-Sep-2002  07:19                     14,546  Atl.lib   27-Sep-2002  08:49  7.0.9613.0         40,960  Mfc70chs.dll   27-Sep-2002  08:49  7.0.9613.0         45,056  Mfc70cht.dll   27-Sep-2002  08:49  7.0.9613.0         61,440  Mfc70deu.dll   27-Sep-2002  08:35                    527,756  Mfc70d.def   27-Sep-2002  08:36                  3,066,694  Mfc70d.lib   27-Sep-2002  08:49  7.0.9613.0         57,344  Mfc70enu.dll   27-Sep-2002  08:49  7.0.9613.0         61,440  Mfc70esp.dll   27-Sep-2002  08:49  7.0.9613.0         61,440  Mfc70fra.dll   27-Sep-2002  08:49  7.0.9613.0         61,440  Mfc70ita.dll   27-Sep-2002  08:49  7.0.9613.0         49,152  Mfc70jpn.dll   27-Sep-2002  08:49  7.0.9613.0         49,152  Mfc70kor.dll   27-Sep-2002  08:37                    528,736  Mfc70ud.def   27-Sep-2002  08:38  7.0.9613.0      2,064,896  Mfc70ud.dll   27-Sep-2002  08:40                  3,978,842  Mfc70ud.lib   27-Sep-2002  08:56                    393,034  Mfc70u.def   27-Sep-2002  09:11  7.0.9613.0      1,016,832  Mfc70u.dll   27-Sep-2002  08:42                  3,042,324  Mfc70u.lib   27-Sep-2002  08:55                    392,265  Mfc70.def   27-Sep-2002  09:21  7.0.9613.0      1,028,096  Mfc70.dll   27-Sep-2002  08:37                  2,287,020  Mfc70.lib   12-Sep-2002  22:50                      7,662  Mfcdll.mak   27-Sep-2002  08:36                    526,960  Mfcs70d.lib   27-Sep-2002  08:38                    468,956  Mfcs70ud.lib   27-Sep-2002  08:57                    452,554  Mfcs70u.lib   27-Sep-2002  08:56                    505,780  Mfcs70.lib   27-Sep-2002  08:32                 16,601,758  Mafxcwd.lib   27-Sep-2002  08:30                  2,093,056  Mafxcwd.pdb   27-Sep-2002  08:32                 16,466,616  Mafxcw.lib   27-Sep-2002  08:31                  2,068,480  Mafxcw.pdb   20-Sep-2002  06:18                     44,958  Oledisp1.cpp   27-Sep-2002  08:34                 17,035,162  Uafxcwd.lib   27-Sep-2002  08:33                  2,093,056  Uafxcwd.pdb   27-Sep-2002  08:35                 16,741,970  Uafxcw.lib   27-Sep-2002  08:34                  2,068,480  Uafxcw.pdb   27-Sep-2002  08:36  7.0.9613.0      2,068,480  Mfc70d.dll   27-Sep-2002  08:36                  7,826,432  Mfc70d.pdb   27-Sep-2002  08:38                  7,859,200  Mfc70ud.pdb   27-Sep-2002  09:11                  9,907,200  Mfc70u.pdb   27-Sep-2002  09:21                  9,915,392  Mfc70.pdb   27-Sep-2002  08:36                  1,880,064  Mfcs70d.pdb   27-Sep-2002  08:38                  1,888,256  Mfcs70ud.pdb   27-Sep-2002  08:57                  1,888,256  Mfcs70u.pdb   27-Sep-2002  08:56                  1,880,064  Mfcs70.pdb				
Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo. Esse problema foi corrigido primeiro no Visual Studio .NET 2002 1.

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 329066 - Última Revisão: 02/27/2014 02:08:50 - Revisão: 1.1

  • Microsoft Foundation Class Library 4.2
  • Microsoft Visual C++ .NET 2002 Standard Edition
  • Microsoft Visual Studio .NET 2002 Academic Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • kbnosurvey kbarchive kbmt kbvs2002sp1sweep kbvs2002sp1fix kbqfe kbbug kbfix KB329066 KbMtpt
Comentários