0
傳遞二維數組的說法我有一個COM方法我試圖調用,那裏的類型「對象」必須是一個2D雙安全數組,緯度/長點的集合的參數。我如何在JACOB中通過COM接口創建SafeArray?雅各布
我試過路過一家二維數組作爲對象列表中的對象。該方法不會返回錯誤,但我看不到我在FalconView中預期的結果(渲染多邊形)。
double polyPoints[][] = new double[5][2];
polyPoints[0][0] = 75.3;
polyPoints[0][1] = 4.5;
polyPoints[1][0] = 3.8;
polyPoints[1][1] = 4.8;
polyPoints[2][0] = 2.3;
polyPoints[2][1] = 2.5;
polyPoints[3][0] = 5.3;
polyPoints[3][1] = 6.5;
polyPoints[4][0] = 0.3;
polyPoints[4][1] = -1.5;
// Can't recreate Variant or SafeArray from double[x][y] array;
Object[] polygonArgs = new Object[] {m_mainLayerHandle, polyPoints, 1};
Variant returnAddPolygon = Dispatch.invoke(mainLayerDispatch, "AddPolygon", Dispatch.Method, polygonArgs, new int[1]);
System.out.println("Polygon Handle: " + returnAddPolygon.getInt());
Object[] refreshArgs = new Object[] {m_mainLayerHandle};
Variant refreshVariant = Dispatch.invoke(mainLayerDispatch, "Refresh", Dispatch.Method, refreshArgs, new int[1]);
第二arument文檔:
lat_lon_array 雙打的二維SAFEARRAY。第一個維度包含緯度值。第二維包含經度值