Here is a direct quote from the Help file:
That suggests that arrays are indeed global. If you have experienced something somewhat different, it may be an undocumented behavour, it may result in some unexpected byproduct, and it may not behave that way in a future release. I do note, however, that though you did use the leyword "Local", that your array was dimensioned outside the function (in the main program), and that as a consequence, you could still pass a reference to it - but that would have been entirely unnecessary had it been declared as "Global". However, it might be handy if you every write a generic process that you want to be able to use selectively with any given array at any given time.
An array may be dimensioned at more than one point in a program, each time an array is dimensioned, it's previous contents are discarded. Arrays may be dimensioned inside functions, but a corresponding 'Dim' statement of the same array must also appear somewhere in the main program. For example: Dim test(0,0) Function Setup( x,y ) Dim test(x,y) End Function
That suggests that arrays are indeed global. If you have experienced something somewhat different, it may be an undocumented behavour, it may result in some unexpected byproduct, and it may not behave that way in a future release. I do note, however, that though you did use the leyword "Local", that your array was dimensioned outside the function (in the main program), and that as a consequence, you could still pass a reference to it - but that would have been entirely unnecessary had it been declared as "Global". However, it might be handy if you every write a generic process that you want to be able to use selectively with any given array at any given time.