Hi again Phillip ---
I'm glad you're seeing the light :-)
Now, one more thing: You shouldn't have to worry too much about dynamic data...just have a tier property called ObjectsCount that has total object count, CurrentObject which has an index value (num), and GetNextObject which sends info to instantiate the next object in the presentation tier.
Now, using CREATEOBJECT in code to instantiate the module you only have to do an Object.Destroy to wipe it clean. And you only have to do the same to release the middle tier object.
This sounds like an application that could be the basis of a nice article....please, write it up when you have it working :-)
>You've got your core app, which has the basic form information. The style, etc, etc. Then, you've got your module interpreter, which reads the form creation script and static data, and writes the static data to a dynamic data area. This way, you only load one module, and unload that module when you load another one. The dynamic data area is the form. The tables are stored and run through the module interpreter, which in turn, reports to the core interpreter which handles all the indexing of those tables.
>
------------------------------------------------
John Koziol, ex-MVP, ex-MS, ex-FoxTeam. Just call me "X"
"When the going gets weird, the weird turn pro" - Hunter Thompson (Gonzo) RIP 2/19/05