В компонентеКодC++ (Qt)STDMETHODIMP CConnection::GetConnectionParams(BSTR* login, BSTR* pass, BSTR* db){ AFX_MANAGE_STATE(AfxGetStaticModuleState ()); CString sLogin = L"wyvern"; CString sPass = L"wyvern"; CString sDb = L"XE";*login = sLogin.AllocSysString();*pass = sPass.AllocSysString();*db = sDb.AllocSysString();return S_OK;}idl-каКодC++ (Qt)[id(1), helpstring("method GetConnectionParams")] HRESULT GetConnectionParams([out] BSTR* login, [out] BSTR* pass, [out] BSTR* db);В qt-приложенииКодC++ (Qt) QAxObject object("ShellCore.Connection"); QString login, pass, db; object.dynamicCall("GetConnectionParams( QString&,QString&,QString&)", login, pass, db); QMessageBox::information(0, "Debug", login + " " + pass + " " + db);и login, и pass, и db - пустые...я уже немножко отчаялся))Через queryInterface, работой с интерфейсами и BSTR напрямую все замечательно... А так - ни в какую...
|