从提示可以看出,错误的原因是将不同数据类型的端口连接在一起了,更具体一点是将数组类型与它里面的元素的类型的端口连接在一起了。要解决这个问题,要从For循环的数据通道说起。从For循环内往循环外传送数据,需要通过数据通道,且只在循环运行完后才进行数据的传递。以上面的程序为例,循环运行了5次,那么文件写节点Write File也会被运行5次,那么其输出端口dup refnum和err out也会各自输出5个数据。在默认情况下,For循环的数据通道将会以数组的形式输出所有这些数据,即以2个数组的形式分别输出5个数据,此时数据通道的外观展示为一个中心放置着数组索引框[]的正方形,非常形象,也就是图1展示数据通道的形式。但是,接收这两个数据通道的关闭文件节点Close File的输入端口refnum和err in所对应的数据类型并不是数组类型,而是这2个数组的元素的数据类型,这就是错误提示框提示的错误信息:You have connected an array data type to its element data type.那么,应该如何解决这个错误呢?解决错误的方法非常简单,就是用鼠标右键单击数据通道,在弹出的菜单中选择菜单项“Disabled Indexing”,如图3所示。此操作将把数据通道的类型修改为不能索引,设置后数据通道的外观将变为一个实心的正方形。此时,数据通道不再是以数组的形式输出所有在循环中产生的数据,而只是输出最后一次循环时产生的那个数据,且此数据的类型与关闭文件节点Close File的输入端口的数据类型是一致的,此数据也正是对应的输入端口需要的数据。因此,通过此设置可解决程序的错误问题。