J'ai un wrapper MFC sur un objet COM. Il y a une fonction qui prend un grand nombre d'options, qui sont pour la plupart optionnelles. Comment puis-je transmettre certains arguments mais pas d'autres?Passage d'arguments facultatifs à une fonction COM dans VC++
Pour ce que cela vaut, les arguments facultatifs sont répertoriés comme VARIANT *.
Voici le code
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);