Используйте элемент управления mapwingis для рисования полигонов на основе c ++. Сбой при отладке - PullRequest
0 голосов
/ 25 апреля 2019

Выполнение отладки для функции: m_Map.DrawPolygonEx (m_LayerHandel, xpoint, ypoint, 4, RGB (255,0,0), true) и сбой.

Параметром функции для точек является VARIANT *

void CMapView::mapDrawPolygon()
{
    m_LayerHandel = m_Map.NewDrawing(mapWindow::tkDrawReferenceList(1));

    VARIANT* xpoint = new VARIANT[4]; 
    VARIANT* ypoint = new VARIANT[4]; 

    xpoint[0].vt = VT_R8;
    xpoint[0].dblVal = 73.;
    ypoint[0].vt = VT_R8 ;
    ypoint[0].dblVal = 40.;

    xpoint[1].vt = VT_R8 ;
    xpoint[1].dblVal = 135.;
    ypoint[1].vt = VT_R8 ;
    ypoint[1].dblVal = 40.;

    xpoint[2].vt = VT_R8 ;
    xpoint[2].dblVal = 135.;
    ypoint[2].vt = VT_R8 ;
    ypoint[2].dblVal = 35.;

    xpoint[3].vt = VT_R8 ;
    xpoint[3].dblVal = 73.;
    ypoint[3].vt = VT_R8 ;
    ypoint[3].dblVal  = 35.;

    m_Map.DrawPolygonEx(m_LayerHandel, xpoint, ypoint, 4, RGB(255,0,0), true);
    Invalidate();

}
...