>2) What is the READ EVENTS really doing?
READ EVENTS can be thought of as an endless loop, waiting for user input.
Your main program - which might be called main.prg or something similar - consists of three parts:
1. Any setup code that should run on startup
2. The single line, READ EVENTS
3. Any cleanup code that should run when your application finishes.
Any setup code comes before the READ EVENTS, cleanup code after the READ EVENTS.
The READ EVENTS waits for user input (menu selection, click on a button, etc.); when processing of that user input finishes, Visual FoxPro goes back to the READ EVENTS, to wait for further user input.
You can break out of the READ EVENTS with the command CLEAR EVENTS - for example, when the user gives the menu command "File | Quit".
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)