Qt線上程中使用QAxObject,獲取物件為空問題
阿新 • • 發佈:2019-02-13
// 初始化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函式中,不能放在建構函式中執行。