IUnknown *iface = 0;
mint->queryInterface(IID_IUnknown, (void**)&iface);
if (iface)
{
DISPID dispid;
OLECHAR * dispname = L"DoGo";
iface->GetIDsOfNames(IID_NULL, &dispname, 1, LOCALE_USER_DEFAULT, &dispid);
short axes0[3]={0,1,2};
SAFEARRAY *axes;
SAFEARRAYBOUND axesbound[1];
axesbound[0].lLbound = 0;
axesbound[0].cElements = 3;
axes = ::SafeArrayCreate(VT_I2, 1, axesbound);
for(long index=0;index<3;index++)
{
::SafeArrayPutElement(axes,&index,axes0+index);
}
VARIANTARG v[2];
v[1].iVal = 3; //number of axes
v[1].vt = VT_I2;
v[0].parray = axes;
v[0].vt = VT_ARRAY|VT_I2;
DISPPARAMS params = {v, NULL, 2, 0};
iface->Invoke(dispid, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD,¶ms ,NULL, NULL, NULL);
}
IUnknown *iface = 0;
mint->queryInterface(IID_IUnknown, (void**)&iface);
if (iface)
{
DISPID dispid;
OLECHAR * dispname = L"DoGo";
iface->GetIDsOfNames(IID_NULL, &dispname, 1, LOCALE_USER_DEFAULT, &dispid);
short axes0[3]={0,1,2};
SAFEARRAY *axes;
SAFEARRAYBOUND axesbound[1];
axesbound[0].lLbound = 0;
axesbound[0].cElements = 3;
axes = ::SafeArrayCreate(VT_I2, 1, axesbound);
for(long index=0;index<3;index++)
{
::SafeArrayPutElement(axes,&index,axes0+index);
}
VARIANTARG v[2];
v[1].iVal = 3; //number of axes
v[1].vt = VT_I2;
v[0].parray = axes;
v[0].vt = VT_ARRAY|VT_I2;
DISPPARAMS params = {v, NULL, 2, 0};
iface->Invoke(dispid, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD,¶ms ,NULL, NULL, NULL);
}
To copy to clipboard, switch view to plain text mode
QVariantList params = ...
object->dynamicCall("DoGo(int, QVariant)", params);
QVariantList params = ...
object->dynamicCall("DoGo(int, QVariant)", params);
To copy to clipboard, switch view to plain text mode
Bookmarks