谢谢

解决方案 »

  1.   

    由于控件的参数必须为float类型,不能使用动态数组(DYNAMIC ARRAY),只能用Variant 了,请指教一下啊
      

  2.   

    Array of Variant 本身就是个Variant
    不知你有什么具体要求,你能说详细点吗?
      

  3.   

    对,就用Variant类型吧,只不过在计算过程和类型转换时有点慢而已
      

  4.   

    就是一个函数的输入参数要求是float类型的数组而这个数组,我需要在运行时根据要求改变它的大小。我试过用Dynamic Array来做,函数不接受这种类型。那么我想先定义一个float数组,变为variant类型改变它的大小,再转回float类型,请问可以吗?谢谢啦
      

  5.   

    那么如何将variant*类型转为float*类型啊
      

  6.   

    var
      tmpArray: oleVariant;//创建数组
      tmpArray := ArrayCreate([0,2],varVariant);
    //赋值
      tmpInt: Integer;
      tmpFloat: Double;
      tmpStr: String;  tmpArray[0] := tmpInt;
      tmpArray[1] := tmpFloat;
      tmpArray[2] := tmpStr;
    //转换  tmpInt = tmpArray[0]
      tmpFloat := tmpArray[1];
      tmpStr := VarToStr(tmpArray[2]);如果不是数组可直接用
      tmpOle: OleVariant;
      

  7.   

    这个我知道啊。我想做的是,float 数组的运行时动态改变大小,也就是说,无论中间如何用variant,最后还是要原来的float类型