在ArcEngine中做开发,ITOCControl3Ptr提供有一个API put/get_CustomProperty,相当于ComboBox类中的ItemData.
现在我有个图层接口ILayerPtr的接口指针,想把它放在里面,但是取出来的时候类型转换老是不对。我对COM不了解,估计犯了很低级的错误,请大家指点一下,如何正常取值。//我的代码ipLayer为ILayerPtr 类型
//存指针
m_ipTocCtrl->put_CustomProperty(_variant_t(ipLayer));

//取指针
CComVariant usrData;
m_pChildFrm->m_ipTocCtrl->get_CustomProperty(&usrData);
ILayerPtr ipLayer2 = (ILayerPtr)usrData; //这里挂了
//原始API
HRESULT put_CustomProperty( VARIANT pVal);
HRESULT get_CustomProperty( VARIANT* pVal);