VC+MapX 在临时图层中添加点图元,该如何解决

VC+MapX 在临时图层中添加点图元
C/C++ code

        //创建点图元
    CMapXPoint point;
    point.Set(m_dMapXX,m_dMapXY);
    //创建图元样式
    CMapXStyle style;
    style.SetSymbolType(miSymbolTypeBitmap);
    style.SetSymbolBitmapName(_T("camera.bmp"));
    //设置MapX不进行自动更新
    m_ctrlMapX.SetAutoRedraw(FALSE);
    //设置图层可写
    pLayer->SetEditable(TRUE);
    //创建特征对象
    VARIANT varPoint;
    VARIANT varStyle;
    varPoint.vt = VT_DISPATCH;
    varPoint.pdispVal = point.m_lpDispatch;
    varStyle.vt = VT_DISPATCH;
    varStyle.pdispVal = style.m_lpDispatch;
    CMapXFeatureFactory factory;
    CMapXFeature feature = factory.CreateSymbol(varPoint,varStyle);
    //添加到图层
    pLayer->AddFeature(feature);
    pLayer->Refresh();
    //设置MapX进行自动更新
    m_ctrlMapX.SetAutoRedraw(TRUE);
    //设置图层不可写
    pLayer->SetEditable(FALSE);


这是我照网上的一个例子仿的
执行pLayer->AddFeature(feature);时发生了异常
调试运行的时候,发现point和style两个对象的m_lpDispatch属性都是0
不知道这两个属性是什么意思?

和VARIANT互相转换的时候,是这样做的么?
先谢过了

------解决方案--------------------
设置图层的label字段是你的图层的数据的某个字段。你光指定AutoLabel为TRUE了,没指定显示哪个字段的数据,当然不行了。
自己看看MapX自带的PDF文档,里面有说明。