>so i guess heres the question. If you are continually requesting large amounts of user input(not a data entry type form, ie say & gets), that runs through involved processes what would the approach be?
Jim already suggested the only workaround I can think of that won't require you to rework things extensively of predefining variables above the level you have to reference them; it's not a good solution, and won't let you move away from the @ SAY..GET model. But then, you've got to be doing something similar now, or declaring a lot of PUBLIC variables; while it's horrid technique, you can do the same creation of PUBLICs in the Init method of forms where before you created globals, did a bunch of @ SAY..GET things and then munched on the globals.
You can always create an object containing member properties equivalent to the memvars, and pass around the object references, using WITH...ENDWITH to minimize the code changes; a form can reference object properties as well as fields or variables (better than variables, object's don't go out of scope until they're released) and an object is a single thing to pass around, convenient for RETURNing from functions or methods.
I'd say refactor the problem and redesign the data collection task better, but you've not left yourself time to do it right, so you'll end up doing it wrong over and over and over again, and never get any of the benefits from the OO nature of the language.
>frank