数组使用前需要初始化,你的下面的语句只初始化了一个单元,当i=2时就会越界.
a_DXCName DXCName := DXCName('BJDXC1');a_DXCName(i) := c_rec.Name; 
a_DXCName.Extend(1); --每次扩展一个