据个人使用经历,如果非要使用“泛型”,通过IS_ARRAY指令能判断Variant接口参数是否为数组,再通过CountOfElements指令能得到数组元素总数Counts,这里可以迂回一下,画条”辅助线“,假如在创建数组之初,能设定起始索引即数组下限为一固定值LowerBound,那么其上限值UpperBound就呼之欲出了,即:
UpperBound := LowerBound + Counts -1;

但是,切记,项目中使用的数组下限值要保持一致。
如果泛型不是那么必要,还是使用ARRAY[*] OF 好一些。