中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > JavaScripts > 综合文章
在vc中的regulardll中使用ado的导入问题
作者:佚名 时间:2005-03-11 11:03 出处:互连网 责编:chinaitpower
              摘要:在vc中的regulardll中使用ado的导入问题

这一段时间要用到dll中使用ado,在mfc中用ado一段时间没有出现什么问题,本以为在dll中也不会出现什么问题,但是问题产生了,而且是在最开始的导入ado的dll文件时候。我的做法是:


#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
出现:
Compiling resources...
Compiling...
StdAfx.cpp
F:\source\vc\Query\debug\msado15.tlh(169) : error C2011: 'LockTypeEnum' : 'enum' type redefinition
F:\source\vc\Query\debug\msado15.tlh(212) : error C2011: 'DataTypeEnum' : 'enum' type redefinition
F:\source\vc\Query\debug\msado15.tlh(256) : error C2011: 'FieldAttributeEnum' : 'enum' type redefinition
F:\source\vc\Query\debug\msado15.tlh(277) : error C2011: 'EditModeEnum' : 'enum' type redefinition
F:\source\vc\Query\debug\msado15.tlh(285) : error C2011: 'RecordStatusEnum' : 'enum' type redefinition
F:\source\vc\Query\debug\msado15.tlh(405) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
F:\source\vc\Query\debug\msado15.tlh(527) : error C2011: 'ParameterDirectionEnum' : 'enum' type redefinition
Error executing cl.exe.


ADIDllTest.dll - 6 error(s), 1 warning(s)


 


后来经过在csdn上的搜索发现有下面两种办法来解决这个问题


1)


#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;


2)


#pragma warning(disable:4146)
#import "C:\Program Files\Common Files\System\ado\msado15.dll" \
no_namespace \
rename("EOF","adoEOF") rename("DataTypeEnum","adoDataTypeEnum") \
rename("FieldAttributeEnum", "adoFielAttributeEnum") rename("EditModeEnum", "adoEditModeEnum") \
rename("LockTypeEnum", "adoLockTypeEnum") rename("RecordStatusEnum", "adoRecordStatusEnum") \
rename("ParameterDirectionEnum", "adoParameterDirectionEnum")


相对来说,还是第一种方法显得更加简便。


希望以后遇到类似问题的朋友可以给你们一些帮助

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有