Barbara,
This logic (invention of my colleague) saves the current state of the form in the MetaFile. This MetaFile basically consists of three fields (if we would not count modidate and notes): FunctionID, Seq & CmdLine.
This is an example of cmdLine:
m.cmdr_arg1.parent.pageframe1.pageLoc.Container1.conZip.btcc_zipcode.Container1.setall('enabled',.t.)
IOW, form object will have full notation here. Now, imagine, that I will delay instantiation of this object, this line of code will bomb, because the object doesn't exist. Therefore it would tough and painful process to incorporate this great idea into this existing application.
I tried this idea today on another quite simple form, but it did not work properly. First problem is that there are mutual page objects dependencies in the form's code, and the other problem, that this form uses related tables instead of views. So, my changes didn't work.
If I would start fresh form, I would definitely use this idea, but for the old forms it's a hard process to change the existing code...
>Nadya,
>Embedded how? In the container code as well as form methods? Would it be cleaner to re-write the Save/Restore code into a separate library module? Whenever I've "bitten the bullet" and done this I'm always grateful later on.
>
>>Thanks for your comments, Barbara.
>>Today I implemented the idea of delay initialization for one of my simplest form. It works fine.
>>
>>The form, which I'd like to make these changes, though, is really complicated. It has embedded Saver-Restoration logic, which makes this process really tough.
>>Anyway, in a closest future I'm going to make these updates.
>>
>>Thanks again.
If it's not broken, fix it until it is.
My Blog