Our code is using
HRESULT AutoWrap(int autoType, VARIANT *pvResult, IDispatch *pDisp, LPOLESTR
ptName, int cArgs...) {
provided in one of the Technical papers. The following call fails on site
only:
AutoWrap(DISPATCH_METHOD, NULL, app, L"ShowApp", 3, sStartupParam, sDomain,
sUser);
The return value from pIDispatch->Invoke is DISP_E_EXCEPTION. Since
excepinfo.wCode == 0, excepinfo.bstrDescription is "Application-defined or
object-defined error" (i.e., no such field, from what i've read), and
excepinfo.bstrHelpFile is NULL, there is no further info to get more details.
The only possible red flag i can see is that one optional param was left out
from the call to AutoWrap, which means that the VB code declares
param1, param2, param3, param4
where param3 and param4 are optional
and automation call is
AutoWrap(DISPATCH_METHOD, NULL, app, L"ShowApp", 3, param3, param2, param1);
This looks fine to me, but i will try changing it tomorrow as follows and
ask the client to test it:
.... 3, param3, ...
to
.... 4, param4, param3, ...
using
dispparams.rgvarg[0].vt = VT_ERROR;
dispparams.rgvarg[0].scode = DISP_E_PARAMNOTFOUND;
for param4.
Thanks in advance for any feedback.