Mam dllke w C++, która za pomocą OLE wywołuje różne polecenia w Wordzie.
Niestety, zapis dokumentu nie działa prawidłowo.
szFunction = OLESTR("SaveAs");
hr = doc->GetIDsOfNames(IID_NULL, &szFunction, 1,
LOCALE_USER_DEFAULT,
&dispid_Cap);
hr = doc->Invoke(dispid_Cap, IID_NULL,
LOCALE_USER_DEFAULT, DISPATCH_METHOD,
&dpCap, NULL, NULL, NULL);
W doc teoretycznie jest ActiveDocument. Zadziwia mnie jednak zwrot metody Invoke: hr = -2146823135
Po zrzutowaniu z wykorzystaniem:
sprintf(hex_buff, "%x", (unsigned int)hr);
Daje kod błędu: 0x800a1421
Sprawdziłam ten kod korzystając z programu: http://www.microsoft.com/en-us/download/details.aspx?id=985 :
# as an HRESULT: Severity: FAILURE (1), Facility: 0xa, Code 0x1421
# NOT FOUND: 800a1421
:|
Co się robi w takiej sytuacji? Jakim cudem dostaję zwrot, którego nie ma...?