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 不懂。