The CreateFlyoutGroup2 function requires two lists of icon paths as variants. The following code compiles, but it causes SolidWorks to crash:
CComVariant mainIconList;
mainIconList.vt = VT_ARRAY | VT_BSTR;
::VariantInit(&mainIconList);
CComSafeArray
mainIconArray[0] = main_20_20;
mainIconArray[1] = main_32_32;
mainIconArray[2] = main_40_40;
mainIconList.parray = mainIconArray.m_psa;
CComVariant iconList;
::VariantInit(&iconList);
iconList.vt = VT_ARRAY | VT_BSTR;
CComSafeArray
iconArray[0] = icon_20_20;
iconArray[1] = icon_32_32;
iconArray[2] = icon_40_40;
iconList.parray = iconArray.m_psa;
iCmdMgr->CreateFlyoutGroup2(FLYOUT_ID, flyoutName, flyoutTip, flyoutTip, mainIconList, iconList, flyoutCallback, flyoutEnable, &iFlyGrp);
Is there a way to fix this? I can't find any example C++ code that calls CreateFlyoutGroup2.
SolidworksApi macros