大悟还俗

邮箱 key_ok@qq.com 我的收集 http://pan.baidu.com/share/home?uk=1177427271
  新随笔  :: 联系 :: 订阅 订阅  :: 管理

DynArrayToVariant DynArrayFromVariant复制动态数

Posted on 2013-10-21 13:24  大悟还俗_2  阅读(492)  评论(0编辑  收藏  举报

type intArr=array of Integer;

procedure TfrmMainDA.Button2Click(Sender: TObject);
var aa:intArr;bb:intArr;vv:Variant;a:Integer;s:String;
begin
  SetLength(aa,3);
  aa[0]:=1;
  aa[1]:=10;
  aa[2]:=100;       
  DynArrayToVariant(vv,aa,TypeInfo(intArr));
  DynArrayFromVariant(Pointer(bb),vv,TypeInfo(intArr));
  for a:=Low(bb) to High(bb) do s:=s+#13+IntToStr(bb[a]);
  Prompt(s);
end;

如果作用看不懂,

function TRawDataMatrix.AddOneSample(aaa: intArr): Boolean;
var vv:Variant;
begin
//方法1
  DynArrayToVariant(vv,aaa,TypeInfo(intArr));
  DynArrayFromVariant(Pointer(temp),vv,TypeInfo(intArr));
//方法2
//  for a:=Low(aaa) to High(aaa) do temp[a]:=aaa[a];

还是很实用的。

 

SafeArrayDestroyData 不懂。