0 Replies Latest reply on Apr 6, 2018 3:06 PM by Matthew Scarpino

    Setting icon lists in CreateFlyoutGroup2 (C++)

    Matthew Scarpino

      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<BSTR> mainIconArray(3);

      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<BSTR> iconArray(3);

      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.