不能同时导入操作ACCESS数据库的ADO库和操作WORD文档的MsWord库

韦翔罂 2012-07-24 10:57:57
(1)在程序中为了操作ACCESS数据库用如下语句导入相应的库:
#include <comdef.h>
#import "C:\Program Files\Common Files\system\ado\msadox.dll"
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF")
(2)为了操作WORD用如下语句导入相应的库:
#import "C:\\Program Files\\Microsoft Office\\Office12\\MSWORD.OLB" no_namespace raw_interfaces_only rename("FindText","_DreamFindText") rename("Rectangle","_DreamRectangle") rename("ExitWindows","_DreamExitWindows")


(3)结果编译报错:
1>WordOper.cpp
1>e:\softwork\wordtest\wordtest\debug\msword.tlh(353) : error C3121: 无法更改“Fields”类的 GUID
1> e:\softwork\wordtest\wordtest\debug\msado15.tlh(1297) : 参见“Fields”的声明
1>e:\softwork\wordtest\wordtest\debug\msword.tlh(355) : error C3121: 无法更改“Field”类的 GUID
1> e:\softwork\wordtest\wordtest\debug\msado15.tlh(1219) : 参见“Field”的声明
1>e:\softwork\wordtest\wordtest\debug\msword.tlh(18597) : error C2011: “Fields”: “struct”类型重定义
1> e:\softwork\wordtest\wordtest\debug\msado15.tlh(1297) : 参见“Fields”的声明
1>e:\softwork\wordtest\wordtest\debug\msword.tlh(18634) : error C2011: “Field”: “struct”类型重定义
1> e:\softwork\wordtest\wordtest\debug\msado15.tlh(1219) : 参见“Field”的声明
1>WordTest.cpp
1>e:\softwork\wordtest\wordtest\debug\msword.tlh(353) : error C3121: 无法更改“Fields”类的 GUID
1> e:\softwork\wordtest\wordtest\debug\msado15.tlh(1297) : 参见“Fields”的声明
1>e:\softwork\wordtest\wordtest\debug\msword.tlh(355) : error C3121: 无法更改“Field”类的 GUID
1> e:\softwork\wordtest\wordtest\debug\msado15.tlh(1219) : 参见“Field”的声明
1>e:\softwork\wordtest\wordtest\debug\msword.tlh(18597) : error C2011: “Fields”: “struct”类型重定义
1> e:\softwork\wordtest\wordtest\debug\msado15.tlh(1297) : 参见“Fields”的声明
1>e:\softwork\wordtest\wordtest\debug\msword.tlh(18634) : error C2011: “Field”: “struct”类型重定义
1> e:\softwork\wordtest\wordtest\debug\msado15.tlh(1219) : 参见“Field”的声明
1>WordTestDlg.cpp
1>e:\softwork\wordtest\wordtest\debug\msword.tlh(353) : error C3121: 无法更改“Fields”类的 GUID
1> e:\softwork\wordtest\wordtest\debug\msado15.tlh(1297) : 参见“Fields”的声明
1>e:\softwork\wordtest\wordtest\debug\msword.tlh(355) : error C3121: 无法更改“Field”类的 GUID
1> e:\softwork\wordtest\wordtest\debug\msado15.tlh(1219) : 参见“Field”的声明
1>e:\softwork\wordtest\wordtest\debug\msword.tlh(18597) : error C2011: “Fields”: “struct”类型重定义
1> e:\softwork\wordtest\wordtest\debug\msado15.tlh(1297) : 参见“Fields”的声明
1>e:\softwork\wordtest\wordtest\debug\msword.tlh(18634) : error C2011: “Field”: “struct”类型重定义
1> e:\softwork\wordtest\wordtest\debug\msado15.tlh(1219) : 参见“Field”的声明

(4)如果去掉其中一个编译就没问题了,比如去掉ACCESS的库导入,那么WORD的库导入就没问题。

请高手指点,万分感谢!
...全文
166 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangbin_CSDN 2013-06-15
  • 打赏
  • 举报
回复
这个rename太给力了,就是这样解决滴
zgl7903 2012-07-24
  • 打赏
  • 举报
回复
添加上命名空间
如 Excel::_ApplicationPtr _XlApp
Word::_ApplicationPtr _WordApp;
huangyingh 2012-07-24
  • 打赏
  • 举报
回复
加上 rename("Fileds","_DreamFileds") rename("Filed","_DreamFiled")

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧