我在_RecordsetPtr的基础上作了一个Connect类!_RecordsetPtr的基础上建立了Recordset类,我在Connect声明文件中用了#pragma warning(disable:4146)
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" named_guids rename("EOF","adoEOF"), rename("BOF","adoBOF")
#pragma warning(default:4146)
using namespace ADODB; 导入msado15.dll。我把Connect做成一个Dll文件编译通过。而我把Recordset做成一个Dll文件确说数据类型DataTypeEnum未定义我查DataTypeEnum是在msado15.tlh中定义的,我这两个类直接用在EXE中就能用做成Dll文件就说DataTypeEnum未定义。不知是什么原因,msado15.tlh和msado15.tli是自己生成的干什么用?怎么用?

解决方案 »

  1.   

    msado15.tlh和msado15.tli
    是你在import后编译时生成的!只要是做了一些定义,建议你看一些关于com方面的书就明白了
      

  2.   

    谢谢;但我看到里面有很多数据类型定义,而当我把这些类型用到Dll中确不认识,不知道为什么?
      

  3.   

    dll也要引入ADO库:
    #import "C:\Program Files\Common Files\System\ADO\msado15.dll" named_guids rename("EOF","adoEOF"), rename("BOF","adoBOF")
    using namespace ADODB
      

  4.   

    #ifndef _AFX_NO_DB_SUPPORT
    #include <afxdb.h> // MFC ODBC database classes
    #endif // _AFX_NO_DB_SUPPORT#ifndef _AFX_NO_DAO_SUPPORT
    #include <afxdao.h> // MFC DAO database classes
    #endif // _AFX_NO_DAO_SUPPORT
    把上面的删掉就可以个,谢谢你nscboy!