Re: Visual Studio 2005 C++: Office Automation -> Release version crashes
Hi
It seems to be a timing problem.
If I build in some waiting times (Sleep(1000)) after CoInitialize and
CoCreateInstance it works!
But this can't be the solution. Is there a possibility to check, if
CoInitialize and/or CoCreateInstance is finished?
Thanks
Hans
"Hans Stoessel" <hstoessel.list@pm-medici.ch> schrieb im Newsbeitrag
news:ePA1%23iloJHA.1288@TK2MSFTNGP02.phx.gbl...
Hi
I try to automate MS Excel via Visual Studio 2005 without MFC. This works
if
I run the debug version, but crashes if I run the release build.
Here is my code snippet to initialize COM and Excel:
bool CExcelInterface::initializeExcel()
{
CLSID clsid;
HRESULT hr = 0;
bool bOK = true;
IDispatch* ipDispatch = NULL;
do {
// Initialize OLE for this thread...
hr = CoInitialize(NULL);
if (FAILED(hr)) {
bOK = false;
break;
}
// Get CLSID for our server...
hr = CLSIDFromProgID(L"Excel.Application", &clsid);
if (FAILED(hr)) {
bOK = false;
break;
}
// Start server and get IDispatch...
hr = CoCreateInstance(clsid, NULL, CLSCTX_LOCAL_SERVER, IID_IDispatch,
(void**) &m_pDispApplication)
if (FAILED(hr)) {
bOK = false;
break;
}
} while (false);
return bOK;
}
This works, as I said, in the debug build, but not in the release build.
In the release build it crashes when I execute CoCreateInstance.
- What could be wrong?
- An option in my project?
Thanks for the help
Hans