>Where is the right place to put the array building code?
If you look at my recent message to JF in this thread, I detailed a bit of sample code that works and basically uses the container of the mover list to populate the source arrays when the control is initially instantiated. I think the style of the code sample you provided is based very much on pre-VFP coding techniques. To use the sample code I have provided, the potential for using things like LocFile() when instantiating an object is not really going to cut it. You need to be confident that your table is where it should be so that your code will run reliably and take advantage of what VFP can offer you, as opposed to what Foxpro 2.x offered you.
As JF suggested, object/form array properties can be populated in any method including the form's Init. However, you cannot pass array properties by reference (using the @ symbol). They would need to be copied to local arrays and then make the call to SetValue with the copies.
HTH
-=Gary