len = safearray.GetOneDimSize(); 这里取出数组维数这里就循环遍历了,GetElement 第一个参数表示数组的维数,这里传K进去,因为要求指针参数,那就是 &k 了
safearray.GetElement(&k,rxdata+k);

解决方案 »

  1.   

    如果是一维数组的话:
    long k;
    ……
    safeArray.GetElement(&k, rxData + k);

    long k;
    ……
    long indices[1] = {k};
    safeArray.GetElement(indices, rxData + k);
    有什么区别呢?反正GetElement把第一个参数当做一个指针,从中它都能解引用得到k的值。
      

  2.   


    len = safearray.GetOneDimSize(); 这里取出数组维数这里,我收到一个数据,是10位的,len刚好等于10 ,你说他是维数的话,不可能他是10维数组吧...
      

  3.   


    DWORD GetOneDimSize( );Return ValueThe number of elements in the one-dimensional safe array.MSDN上面说清楚了,这个是返回一维数组的元素个数