1. 程式人生 > >Qt線上程中使用QAxObject,獲取物件為空問題

Qt線上程中使用QAxObject,獲取物件為空問題

// 初始化QAxObject
HRESULT r = OleInitialize(0);
CoInitialize(0);
if (r != S_OK && r != S_FALSE)
{
qWarning("Qt: Could not initialize OLE (error %x)\n", (unsigned int)r);
}
m_pAxObject = new QAxObject("Excel.Application", this);
if (m_pAxObject == NULL)
{
qWarning("pApplication\n"); return;
}
m_pAxObject->dynamicCall("SetVisible(bool)", false);// false不顯示窗體
m_pAxObject->setProperty("DisplayAlerts", false);// 不顯示任何警告資訊。
m_pWorkBooks = m_pAxObject->querySubObject("Workbooks");

需要將初始化QAxObject放在run函式中,不能放在建構函式中執行。