Yes that is what I posted, it could be done in either, not used FTV much & certainly not recently so cannot help on the code but have done it on others, I just created a timed procedure that is called every second (I'm sure there is the ability for this in FTV), however, a 1000 variables is probably a little too much & might hang the system for at least a little while, I suppose you could have an indirect pointer to the current & last stored variables, so every second itterate through say 10, store the current pointer ready for the next call & continue when it reaches the 1000, reset the pointer to 0.
The only problem is that unless all your variables are contiguous then indirect pointing is nigh on impossible.
Example:
if My_Pointer > 1000 then My_Pointer = 0 // check we are not out of bounds & reset pointer
For x = 0 to 9 //do the loop
My_Pointer = My_Pointer + X //Add x to the pointer
If My_Edit_Var[My_pointer] <> Stored_Var[My_Pointer] //Check the value
Then Create event //i.e. log the required data to the DB
Stored_Var[My_Pointer] = My_Edit_Var //update the stored value
ENDIF
As I stated, to do this in chunks then the variables would have to be some sort of array.
somehow, I think a 1000 variables is a little hard if you need to check & log the data I have no idea if there is an on change function on an edit field but even then that's a lot of coding.