Tag: 访问冲突

为什么CoUninitialize在退出时会导致错误?

我正在使用C ++应用程序从Excel文件读取一些数据。 我有它的工作,但我对一部分感到困惑。 这里是代码(简化为只读第一个单元格)。 //Mostly copied from http://www.codeproject.com/KB/wtl/WTLExcel.aspx #import "c:\Program Files\Common Files\Microsoft Shared\OFFICE11\MSO.DLL" #import "c:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB" #import "C:\Program Files\Microsoft Office\Office11\excel.exe" rename ("DialogBox","ExcelDialogBox") rename("RGB","ExcelRGB") rename("CopyFile", "ExcelCopyFile") rename("ReplaceText", "ExcelReplaceText") exclude("IFont", "IPicture") _variant_t varOption((long) DISP_E_PARAMNOTFOUND, VT_ERROR); int _tmain(int argc, _TCHAR* argv[]) { DWORD dwCoInit = 0; CoInitializeEx(NULL, dwCoInit); Excel::_ApplicationPtr pExcel; pExcel.CreateInstance(_T("Excel.Application")); Excel::_WorkbookPtr pBook; pBook = pExcel->Workbooks->Open("c:\\test.xls", […]