RT

解决方案 »

  1.   

     
    VAR
        RePointer:Pointer;
        measValues1:array of double;
    begin 
        setlength(measValues1,长度); 
        ReValue:=函数的调用;    
        RePointer := VarArrayLock(ReValue);
        CopyMemory(@measValues1[0], RePointer, Sizeof(double) * 长度);
        VarArrayUnlock(ReValue);
    .....
    end;
      

  2.   

    意思是:我设置了个Variant的变量(A)来获取函数的返回值:
    A的值最后为Variant array of double,我又查看了下函数说明,说明上说是返回值是个长度固定的double的数组。
    我先试试2楼的先
      

  3.   


    uses Typesvar
      dd:TDoubleDynArray;
      v:Variant;
    begin
      v := VarArrayCreate([0,固定长度],varDouble);
      DynArrayFromVariant(Pointer(dd),v,TypeInfo(TDoubleDynArray));
      ... // 对 dd 直接操作
    end;