我有一个MFC包装器通过COM对象。有一个函数需要大量的选项,这些选项大多是可选的。我如何传递一些论点而不是其他人?将可选参数传递给VC++中的COM函数
值得一提的是,可选参数被列为VARIANT *。
下面是代码
CComVariant vFalse = false;
CApplication application;
{
application.CreateDispatch(_T("Word.Application"));
CDocuments documents = application.get_Documents();
CComVariant vFilename = _T("c:\\temp\\test.rtf");
CComVariant vNothing;
CComVariant vEmpty = _T("");
CComVariant vOpenFormat = 0;
application.put_Visible(TRUE);
//
// THIS FUNCTION has a number of optional arguments
//
LPDISPATCH pDocument = documents.Open(&vFilename, &vFalse, &vFalse, &vFalse, &vEmpty, &vEmpty, &vFalse, &vEmpty, &vEmpty, &vOpenFormat, &vOpenFormat, &vFalse, &vFalse, &vOpenFormat, &vFalse, &vFalse);
}
application.Quit(&vFalse, NULL, NULL);