我有一個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);