VarArrayOf的主要功能是构造一个Variant数组,通过VarArrayCreate实现:
function VarArrayOf(const Values: array of Variant): Variant; var I: Integer; begin Result := VarArrayCreate([0, High(Values)], varVariant); for I := 0 to High(Values) do Result[I] := Values[I]; end;
下面是一个使用实例:
type TStrArr = array of string; // 字符串动态数组 function Test(const VarArr: TStrArr): Integer; var i: Integer; begin Result := Length(VarArr); // 取得动态数组的长度 for i := Low(VarArr) to High(VarArr) do ShowMessage(VarArr[i]); // 显示内容 end; procedure TForm1.Button1Click(Sender: TObject); var V: Variant; begin V := VarArrayOf([1, 1.25, 'abc', VarArrayOf(['Test1', 'Test2', 'Test3'])]); // 创建数组 Test(V[3]); // 调用,结果是:Test1,Test2,Test3
end;