using CLSCTX_ALL fails with Microsoft Office applications, correct the last change to use CLSCTX_SERVER only (see #9868)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55899 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-09-26 15:18:16 +00:00
parent 0a17f5b6b5
commit 06936905a4

View File

@@ -538,8 +538,13 @@ bool wxAutomationObject::CreateInstance(const wxString& classId) const
return false;
}
// start a new copy of Excel, grab the IDispatch interface
if (FAILED(CoCreateInstance(clsId, NULL, CLSCTX_ALL, IID_IDispatch, (void**)&m_dispatchPtr)))
// get the server IDispatch interface
//
// NB: using CLSCTX_INPROC_HANDLER results in failure when getting
// Automation interface for Microsoft Office applications so don't use
// CLSCTX_ALL which includes it
if (FAILED(CoCreateInstance(clsId, NULL, CLSCTX_SERVER, IID_IDispatch,
(void**)&m_dispatchPtr)))
{
wxLogWarning(wxT("Cannot start an instance of this class."));
return false;