这个问题困扰了我两个礼拜了,实在不得已来向高手求助。是一个Excel电子签章的项目,打开Excel在工具栏上有签章按钮。然后点击这个按钮可以出现签章选择界面,选好后就可以把章控件加入到Excel上。下面就是加入控件的代码,但在最后一行代码执行时Excel会崩溃。但这些代码在word签章软件中就没有问题。百思不得其解,请众高手帮忙!
USES_CONVERSION;
ATLASSERT(m_spApp);
CComPtr<MSExcel::_Workbook>m_wbMyBook;
CComPtr<MSExcel::_Worksheet>m_wsMysheet;
CComPtr <MSExcel::Shape> spShape;
CComPtr<MSExcel::Shapes>m_shapes;
                  CComPtr<MSExcel::OLEFormat> spOleFormat;

m_spApp->get_ActiveWorkbook(&m_wbMyBook);
ATLASSERT(m_wbMyBook);
m_wbMyBook->get_ActiveSheet((LPDISPATCH*)&m_wsMysheet);
ATLASSERT(m_wsMysheet);
m_wsMysheet->get_Shapes(&m_shapes);
ATLASSERT(m_shapes); ATLASSERT(m_ishapes);
COleVariant ClassType("Excel.SealAx.1");  //签章控件名称
spShape=m_shapes->AddOLEObject(ClassType);  //插入签章控件                   

spOleFormat=spShape->GetOLEFormat();
spOleFormat->Activate();

IDispatch *pDisp;
pDisp=spOleFormat->GetObject(); 
      //怀疑这里有问题

CComQIPtr<ISealAx> spSealAx(pDisp);                      spSealAx->InsertPicture(TRUE);    //这里就是插件调用控件的方法,这句话会出现崩溃现象