高手进来看看那出错!!!

E:\programfiles\MicrosoftVisualStudio\VC98\MFC\SRC\OLEDISP2.CPP(31):errorC2065:'USES_... E:\program files\Microsoft Visual Studio\VC98\MFC\SRC\OLEDISP2.CPP(31) : error C2065: 'USES_CONVERSION' : undeclared identifier
E:\program files\Microsoft Visual Studio\VC98\MFC\SRC\OLEDISP2.CPP(35) : error C2065: 'T2COLE' : undeclared identifier
E:\program files\Microsoft Visual Studio\VC98\MFC\SRC\OLEDISP2.CPP(88) : error C2065: 'LPLP' : undeclared identifier
E:\program files\Microsoft Visual Studio\VC98\MFC\SRC\OLEDISP2.CPP(88) : error C2297: '&' : illegal, right operand has type 'struct IUnknown *'
E:\program files\Microsoft Visual Studio\VC98\MFC\SRC\OLEDISP2.CPP(93) : error C2297: '&' : illegal, right operand has type 'struct IUnknown *'
E:\program files\Microsoft Visual Studio\VC98\MFC\SRC\OLEDISP2.CPP(104) : error C2065: 'QUERYINTERFACE' : undeclared identifier
E:\program files\Microsoft Visual Studio\VC98\MFC\SRC\OLEDISP2.CPP(104) : error C2275: 'IDispatch' : illegal use of this type as an expression
e:\program files\microsoft visual studio\vc98\include\oaidl.h(2694) : see declaration of 'IDispatch'
E:\program files\Microsoft Visual Studio\VC98\MFC\SRC\OLEDISP2.CPP(104) : error C2440: '=' : cannot convert from 'int' to 'struct IDispatch *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
E:\program files\Microsoft Visual Studio\VC98\MFC\SRC\OLEDISP2.CPP(113) : error C2065: 'RELEASE' : undeclared identifier
E:\program files\Microsoft Visual Studio\VC98\MFC\SRC\OLEDISP2.CPP(117) : error C2065: 'AfxGetFullScodeString' : undeclared identifier
E:\program files\Microsoft Visual Studio\VC98\MFC\SRC\OLEDISP2.CPP(451) : error C2065: 'AfxBSTR2CString' : undeclared identifier
Page1.cpp

--------------------------------
一堆乱七八糟的错误,出错的地方都是指向MFC下的源文件OLEDISP2.CPP

本来代码好好的,导入几个Word2007的类型库 _Application ,Documents ,_Docuemnt ,Range,Selection ,
加入如下的代码就出现上面的错误,
#include<atlbase.h>
#include<msword.h>//类型库所在的头文件

//在CButton:OnClick()中
_Application app;
app.CreateDispatch(_T("Word.Application"));
pp.SetVisible(TRUE);
Documents docs=app.GetDocuments();
CComVariant Template(_T(""));
CComVariant NewTemplate(false),DocumentType(0),Visible; docs.Add(&Template,&NewTemplate,&DocumentType,&Visible);
Selection sel=app.GetSelection();
……………后面省了
我已在InitInstance中加入AfxOleInit();初始化COM。后来实在没辙,把加入的代码都删了,但错误还在!!!!
这些代码在一个测试的工程运行良好,但移植到这个工程后就出现这样的错误……

——————————————————————————
一楼的办法我试了多次,出错还在
二楼的朋友,我就是按照你的方法导进类型库的,我用的Word是2007,VC是6.0的。

从新做了几遍,代码还是原来的代码,没做任何改变,有几次出现上面同样的错误,
最后鬼使神差竟然好了,真服了VC了 : 编译编译就死了(概率50%以上),只能
taskkill /f /im msdev.exe
start xxx.exe
还有好几个菜单不能用,比如“打开”文件,Add to project下的Files,
要添加外部文件,只能把文件拖进去,在右键-选择“Insert file to Project”
唉,反正一大堆错误,VC 、系统都重装了N次,各种中英文的版本也是了多次,
大概跟硬件有关,同样的版本在别人的机子从没这样的情况
展开
 我来答
匿名用户
2009-06-06
展开全部
我没出现你那种错误……你导入这些类的时候最好是去类向导那里(Ctrl+W),然后点右边的“Add Class”,选“Form a type Library”,进入到WORD的目录,选相应的OLB文件,我的是2003,文件名是:MSWORD.OLB,不知道2007有没改变;选了后会弹出个对话框让你选择要导入哪些类,按CTRL多选就是,选完后确定就OK了。我就是用这办法的,编译运行都正常,也能正常启用WORD组件。不知道你那边情况怎样了……
========================================
对,我的也是VC6,不过我建的是基于MFC的应用程序,可能MFC已经在头文件里帮我添加好那些引用文件了;如果你的不是基于MFC的应用程序,可以加
#include <atlcom.h>
#include <atlconv.h>
#include <afxpriv.h>
试试~~
qcs1101
2009-06-06 · TA获得超过518个赞
知道小有建树答主
回答量:666
采纳率:0%
帮助的人:607万
展开全部
把编译出来的文件夹里东西全删了,再编译看看.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
九晨曦28
2009-06-06 · TA获得超过334个赞
知道小有建树答主
回答量:342
采纳率:100%
帮助的人:101万
展开全部
我遇到过同样的问题解决如下:
1.看看有没有少包含头文件
2.在属性->precompile里面添加一些相应的宏定义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangtk1982
2009-06-06 · TA获得超过3742个赞
知道大有可为答主
回答量:3206
采纳率:100%
帮助的人:1448万
展开全部
#include<atlconv.h>
#include<afxpriv.h>

OLE转换需要的头文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式