BUG: Debug DAO SDK Components Cause Assertion (192777)



The information in this article applies to:

  • Microsoft Visual Studio, Enterprise Edition 6.0
  • Microsoft Visual C++, 32-bit Professional Edition 6.0
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0

This article was previously published under Q192777

SYMPTOMS

Visual Studio version 6.0 comes with the DAO Software Development Kit (SDK). If you try to build and run any of the samples in the \DAOSDK\SAMPLES directory (such as DAOREAD or EMPLOYEE) on a computer with Visual C++ version 6.0 and the DAO SDK from the DAOSDK directory on CD number 3 (or from CD number 1 of the Visual C++ CD) installed, you get an assertion failure and the following error message box appears:
Debug Assertion Failed
Program: C:\DAOSDK\SAMPLES\DAOREAD\DEBUG\DAOREAD.EXE
File: objcore.cpp
Line: 174
You may also see the following error message in your DAO SDK application:
Debug Assertion Failed
Program: C:\DAOSDK\SAMPLES\DAOREAD\DEBUG\DAOREAD.EXE
File: doctempl.cpp
Line: 30

CAUSE

You need to rebuild the debug versions of the DAO SDK DLLs for Visual C++ 6.0 applications.

RESOLUTION

You need to rebuild DDAO35D.DLL (for non-Unicode builds) and DDAO35UD.dll (for Unicode builds). To rebuild the dbDAO libraries, you need to use the DBDAO.mak file in the \DAOSDK\SRC folder. Following is the command line to rebuild DDAO35D.dll:

nmake /f dbdao.mak CFG="ddao - Win32 Debug"

Following is the command line to rebuild DDAO35UD.dll (this is only necessary if you are building a Unicode release of your application and have the MFC Unicode libraries installed):

nmake /f dbdao.mak CFG="ddao - Win32 Debug Unicode"

Use the new .lib and .dll files that are generated in the DEBUG or DEBUGU folders.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.

MORE INFORMATION

The DAO SDK that is included with Visual Studio 6.0 contains the following DAO 3.5 DLLs and libraries:
   ddao35.dll    3.49.3003.0
   ddao35d.dll   3.49.3003.0
   ddao35u.dll   3.49.3003.0
   ddao35ud.dll  3.49.3003.0

   ddao35.lib     204kb
   ddao35d.lib    206kb
   ddao35u.lib    205kb
   ddao35ud.lib   207kb
				
In order to connect to a Microsoft Access 2000 database, you must use DAO 3.6. The DAO 3.6 version of the DAO SDK is provided with Visual Studio 6.0 Service Pack 3 or later. For more information on Visual Studio service packs, and to download the Readme file, refer to the following Microsoft Web site:

Modification Type:MajorLast Reviewed:11/18/2003
Keywords:kbbug KB192777