我写了一个程序,是个单文档内嵌Excel的程序,我想通过输入命令行参数比如
demo.exe C:/myexcel.xls 就打开myexcel文件,但是出现个问题,一添加参数后创建OLE对象就会崩溃掉,参数是能够接收到,我是在view类的OnInitialUpdate里面绘制我的实例的,一绘制对象就会程序崩溃,后来我在调试的时候只要添加命令行参数创建OLE对象就会失败,去掉参数就是正常的,请问下这个是什么原因?谢谢了
demo.exe C:/myexcel.xls 就打开myexcel文件,但是出现个问题,一添加参数后创建OLE对象就会崩溃掉,参数是能够接收到,我是在view类的OnInitialUpdate里面绘制我的实例的,一绘制对象就会程序崩溃,后来我在调试的时候只要添加命令行参数创建OLE对象就会失败,去掉参数就是正常的,请问下这个是什么原因?谢谢了
解决方案 »
- Activex控件中嵌入Flash控件,IE下收不到FSCommand事件
- 高分聘请高手解决问题(raw socket方面的问题)
- CSDN里的文章哪有下载
- 问个简单问题,50分送
- 如何取http://www.xxxx.com/down.asp?id=1001这样的最终链接
- 谁有autocad二次开发的程序呀!
- Microsoft JET Database Engine error 80004005?
- 求助---网格图像的提取问题!!!
- 程序员具备的素质
- 问一个初级问题,怎么进行这种类型转换?
- 如何在 vc6.0 的程序中调用 vb.net 做成的 DLL ?
- 一个有难度的问题:会是什么原因造成滚动条在编辑框外呢?
楼主的处理参数的代码是怎样的?
在view类里面:void CSDIViewView::EmbedAutomateExcelFromFiles(CString strPath)
{
//如果已经加载了新的EXCEL的话 if(this->m_pSelection != NULL)
{
m_pSelection->Delete();
m_pSelection->Release();
m_pSelection = NULL; m_pExcel->ReleaseDisp();
delete m_pExcel;
m_pExcel = NULL;
}
BeginWaitCursor();
CSDIViewCntrItem *pItem = NULL;
TRY
{
CSDIViewDoc *pDoc = GetDocument();
ASSERT_VALID(pDoc);
pItem = new CSDIViewCntrItem(pDoc);
ASSERT_VALID(pItem);
//到这一句话就会崩溃掉,但是如果在程序没加参数在程序里面写死路径的话是对的,不解了..请教高人
if(!pItem->CreateFromFile(strPath))
{
AfxThrowMemoryException();
}
ASSERT_VALID(pItem);
pItem->DoVerb(OLEIVERB_HIDE,this);
this->m_pSelection = pItem; //保存控制指针
LPDISPATCH lpDisp;
lpDisp = pItem->GetIDispatch(); //将excel对象关联到当前加载的项中
m_pExcel = new COperatorExcel();
m_pExcel->InitExcel(lpDisp);
} CATCH(CException, e)
{
if (pItem != NULL)
{
ASSERT_VALID(pItem);
pItem->Delete();
}
AfxMessageBox(IDP_FAILED_TO_CREATE);
}
END_CATCH EndWaitCursor();
}