1) 每个线程必须先::CoInitialize(NULL);,退出时必须::UnCoInitialize(NULL);, 2) pDlg->m_pXlOper,即线程使用m_pXl内Excel对象,必须遵守COM/COM+规范,简单说,对象接口指针必须遵守一个规范:计数增一,退出时计数减一 3)多线程共享接口指针,还有很多要注意的地方,比如套间等,不能象C/C++程序自己设计的对象指针那么简单对待 在线程里采用多线程方式初始化COM,就OK了。 HRESULT hr = ::CoInitializeEx( NULL, COINIT_MULTITHREADED ); |