Vc对word文档进行操作时,使用OLEFormat获取对象时程序报错

上帝的小羊 2009-07-09 05:16:00
使用Vc对word文档进行操作时,使用OLEFormat获取对象时程序报错,不知道错误类型,没办法捕捉到错误原因。
我代码如下:
IDispatch * CWordToWordDlg::GetStampShape(Word::ShapePtr pShape)
{
if(pShape)
{
_bstr_t clstype;
if(pShape->OLEFormat)
{
Word::OLEFormatPtr spOleFormat = pShape->OLEFormat;
clstype = spOleFormat->GetClassType();
if(clstype == _bstr_t("XSJSTAMP.xsjStampCtrl.1"))
{
IDispatchPtr obj = NULL;
try
{
obj = spOleFormat->Object;
}
catch(_com_error Err)
{
char msg[256];
memset(msg, 0, sizeof(msg));
sprintf(msg,"%s",(TCHAR*)Err.Description());
int errorIndex =0;
errorIndex = Err.Error();
obj = NULL;
}
return obj;
}
}
}
return NULL;
}

程序在运行过程中可以获取到类的类型(也就是clstype = spOleFormat->GetClassType();执行没有错误),但是在运行到“obj = spOleFormat->Object;”报指针异常错误。

想请教下各位大侠程序获取不到Object到原因大概有哪些?谢谢了。
...全文
100 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

6,210

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office应用
社区管理员
  • Microsoft Office应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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